gpt4 book ai didi

c#-4.0 - 我的 servicestack 缓存服务在响应中包含额外的斜杠

转载 作者:IT王子 更新时间:2023-10-29 06:07:04 25 4
gpt4 key购买 nike

我已经使用 ServiceStack 创建了一个缓存的网络服务。

public class ContentSearchService : ServiceBase<ContentSearch>
{
public ICacheClient CacheClient { get; set; }

protected override object Run(ContentSearch request)
{


var cacheKey = "unique_key_for_this_request2";
return base.RequestContext.ToOptimizedResultUsingCache(this.CacheClient, cacheKey, () =>
{
//Delegate is executed if item doesn't exist in cache


//Any response DTO returned here will be cached automatically
return new ContentSearchResponse()
{
Contents = new List<ContentData>()
{
new ContentData()
{
FileName = "testfile.jpg"
}
}
};
});
}
}

然后使用:

IRestClient client = new JsonServiceClient("http://internal");

ContentSearch search = new ContentSearch();

ContentSearchResponse response = client.Put<ContentSearchResponse>("/json/syncreply/ContentSearch", search);

第一个响应按预期返回并转换为响应对象。第二个已缓存,返回时带有额外的斜杠,因此无法序列化。

第一 react :

{"Contents":[{"FileName":"testfile.jpg","Company":0,"Version":0}]}

第二个回复:

{\"Contents\":[{\"FileName\":\"testfile.jpg\",\"Company\":0,\"Version\":0}]}

我使用 Redis 作为缓存。

我已经查看了它们存储在斜线中的 redis 服务器。

最佳答案

事实证明,这与使用不同版本的 ServiceStack 程序集的客户端有关。我将服务器和客户端都更新到最新版本,一切都按预期工作。

关于c#-4.0 - 我的 servicestack 缓存服务在响应中包含额外的斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13176894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com