作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用带有 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")]
并且我只是在第一次调用 db 和下一个后续请求时除外此操作将返回缓存值,但这并没有发生。
再次进行数据库调用,数据库调用需要时间我如何让它工作?
最佳答案
不幸的是,缓存没有内置到 ASP.NET Web API 中。
检查一下,让您走上正轨:http://www.strathweb.com/2012/05/output-caching-in-asp-net-web-api/
这里有更新的资源:https://github.com/filipw/AspNetWebApi-OutputCache
编辑:截至 2020 年 2 月 3 日,尽管这个答案很旧,但它仍然有效。
以上两个 URL 都指向同一个项目,ASP.NET Web API CacheOutput通过 Filip W
关于c# - 如何在 ASP.NET Web API 中使用缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811772/
我是一名优秀的程序员,十分优秀!