我正在使用带有WEB API的ASP.NET MVC 4
我有以下操作,在下面显示的操作中,我的服务方法调用DoMagic()
方法进行数据库调用并返回整数值,然后我在每个页面上使用该操作,该操作使用ajax调用。
下面是我的WEB API操作:
[OutputCache(Duration = 86400, VaryByParam = "none")]
[ActionName("GetMyMagicNumber")]
public int GetMyMagicNumber()
{
if (WebSecurity.IsAuthenticated)
{
var revenue = _magicService.DoMagic();
return revenue;
}
return 0;
}
我的问题是:我尝试使用[OutputCache(Duration = 86400, VaryByParam = "none")]
,我期望只有第一次调用数据库时才会发生,随后对该操作的请求将返回缓存的值,但事实并非如此。
每次仍然会再次调用数据库,而且这需要时间。我该如何解决这个问题?