asp.net – 是MemoryCache范围会话还是应用程序?
|
我在ASP.NET中使用MemoryCache,它运行良好。我有一个对象被缓存一个小时,以防止新的数据从存储库中拉。 我可以看到缓存在调试中工作,但一旦部署到服务器,在第一次调用和对象被缓存后,后续调用大约1/5的时间。 然而,我注意到每个新的客户端调用(仍然在这个1小时的窗口内 – 实际上只是一分钟或2个)似乎有第一次调用我的服务(这是在缓存)花费的时间几乎与原来在数据被缓存之前调用。 这使我开始怀疑 – 是MemoryCache会话特定的,每个新的客户端进行调用存储自己的缓存,或者是其他的事情,导致第一次调用花费这么长时间,即使我知道数据已缓存吗? 解决方法从 MSDN:
阅读和做一些调查反射代码很明显,MemoryCache只是一个简单的类。您可以使用MemoryCache.Default属性(重新)使用相同的实例,或者您可以构建尽可能多的实例(尽管建议尽可能少)。 所以基本上答案在于你的代码。 如果你使用新的MemoryCache(字符串,NameValueCollection)创建它,然后上述的注意事项应用加上你创建你的实例的上下文,也就是说,如果你在控制器中创建你的实例(我希望不是这样),然后你的缓存生活一个请求 很遗憾,我找不到任何引用,但… MemoryCache不保证根据您指定的缓存策略保存数据。特别是如果你正在运行你的应用程序的机器上受到内存的压力,你的缓存可能会被丢弃。 如果你还没有运气找出什么是早期缓存项无效的原因,你可以利用 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .net – 如何在同一个域但不同的主机上共享本地存储令牌?
- ASP.NET无法摆脱“500-内部服务器错误”
- ASP.NET网站“发布”vs Web部署项目
- 管理页面来管理asp.net会员提供商和角色管理
- asp.net-mvc – 为什么ASP.NET MVC在数据绑定期间关心我的只
- asp.net – 存储库是否应该调用另一个存储库?或者存储库是
- 在asp.net App_Code目录中使用Nemerle
- asp.net – .Net System.Mail.Message添加多个“To”地址
- asp.net – 在Google Chrome浏览器中加载两次
- asp.net-web-api – webapi批处理和委托处理程序
- asp.net – 如何在Web应用程序中获取Client Mach
- asp.net – 对象不是垃圾回收,但不包含gcroot
- asp.net-mvc – Paypal沙箱直接付款内部错误1000
- ASP.NET / VB中的jsFiddle是否相当?
- asp.net-mvc – 使用带有剃刀的html选择框
- asp.net-mvc – 文件输入MVC 3所需的客户端验证
- asp.net-mvc – 使用MiniProfiler与MVC 5
- 强制ASP.NET文本框以$符号显示货币
- asp.net-mvc – 单元测试RedirectToRouteResult
- ASP.NET Web应用程序 – WebResource.axd和Scrip
