Я построил простой сервис Hello, который использует кеш. DTO:Сервис, возвращающий строку, только добавил котировки при выходе из кеша
[DataContract]
[Route("/cachedhello/{Name}")]
public class CachedHello : IReturn<string>
{
[DataMember]
public string Name { get; set; }
public string CacheKey
{ get { return "urn:cachedhello:nm=" + Name; } }
}
Вот служба:
public class CachedHelloService : Service
{
public ICacheClient CacheClient { get; set; }
public object Any(CachedHello request)
{
return base.Request.ToOptimizedResultUsingCache(
this.CacheClient, request.CacheKey, CacheExpiryTime.DailyLoad(),() =>
{
return "(Cached) Hello, " + request.Name;
});
}
}
Когда я использую JSONServiceClient назвать эту услугу, возвращаемая строка имеет кавычки вокруг него. когда я смотрю на записи кэша в моей базе данных, он будет выглядеть как дополнительный набор цитат были помещены вокруг версии .json вступления:
urn:cachedhello:nm=Matt (Cached) Hello, Matt
urn:cachedhello:nm=Matt.json """(Cached) Hello, Matt"""
urn:cachedhello:nm=Matt.json.deflate U9JwTkzOSE3RVPBIzcnJ11HwTSwpUQIA
Вот код, который вызывает службу из VB.NET
Dim s = _ServiceClient.Send(Of String)(New CachedHello() With {.Name = "Matt"})