我在ASP.NET 4.5上使用ServiceStack。我在ServiceStack InMemory緩存方面遇到了麻煩。如果我只是從瀏覽器直接調用URL,它將取回緩存版本,但如果我嘗試通過JQuery中的getJSON調用它,它永遠不會撤回緩存版本,並且每次只重新讀取數據。ServiceStack不緩存Json
這裏是基本的碼位...
public class AResponse : IHasResponseStatus
{
public ResponseStatus ResponseStatus { get; set; }
public Html Html { get; set; }
}
public object Get(A request)
{
var cacheKey = UrnId.Create<string>(request.UserKey + request.Id);
var expireInTimespan = new TimeSpan(1, 0, 0);
return RequestContext.ToOptimizedResultUsingCache(base.Cache, cacheKey, expireInTimespan,() =>
{
var ar = new AResponse();
var html = new Html();
html.Test = "test";
ar.Html = html;
return ar;
});
}
...感謝您的任何想法。
正如我在下面提到的... 發現問題 - 我正在傳遞迴調=?,所以jquery動態地創建了回調var - 因此每次在getJSON調用時,url都是不同的。 – QuaffAPint 2013-04-08 17:38:35