众所周知,OutPutCache不适用于Web API,因此我尝试搜索其他解决方案。
一个是:ASP.NET Web API CacheOutput但我不知道为什么这种方法对我不起作用。 (每当我得到Cache-Control:no-cache
。下面的方法是从js脚本调用的)
[CacheOutput(ClientTimeSpan = 60, ServerTimeSpan = 60)]
public virtual IEnumerable <UserDaysSummaryModel> Get(string startDate, string endDate)
{
...
}
另一个解决方案:使用Redis Cache Service on Azure但我没有找到任何关于它如何与Web API一起使用的示例。
那么为Web API使用缓存的方式和方式以及更新缓存最简单的方法是什么?
答案 0 :(得分:1)
您可以使用以下代码在Web API中执行缓存
public class WebAPICachingHelper<T>
{
public static ObjectCache cache = MemoryCache.Default;
public static T GetCacheValue(string key)
{
if(cache[key] != null)
{
return (T)cache[key];
}
return default(T);
}
public static void SetCacheValue<T>(string key, T t)
{
cache[key] = t;
}
}