我正在向 ASP.NET Web 应用程序添加缓存。这是 .NET 4,因此我可以使用 System.Runtime.Caching 命名空间中的类(据我所知,添加该命名空间是为了提供与 System.Web.Caching 中的功能类似的功能,但适用于非 Web-应用。)
但自从这is一个网络应用程序,我最好使用 System.Web.Caching 吗?或者较新的 System.Runtime.Caching 在某些方面是否更优越?
Microsoft 建议使用 System.Runtime.Caching 来实现所有缓存目的。看看这个:http://msdn.microsoft.com/en-us/library/dd997357.aspx http://msdn.microsoft.com/en-us/library/dd997357.aspx
尽管如此,我遇到了一些人们遇到 MemoryCache.Default 实例问题的线程。一段时间后,它停止正常工作。使用 Add 或 Set 方法添加的任何项目实际上都不会添加到缓存中。我尝试了相同的方法,并且能够通过显式调用 MemoryCache.Default.Dispose() 方法来重现此问题。
以下是链接:MemoryCache Empty :设置后返回null https://stackoverflow.com/questions/7422859/memorycache-disposed-in-web-application
http://forums.asp.net/t/1736572.aspx/1 http://forums.asp.net/t/1736572.aspx/1
我的建议是使用 System.Web.Caching (HttpContext.Current.Cache)
UPDATE:
MS 已修复此问题。检查下面帖子中接受的答案:运行时缓存问题已解决 https://stackoverflow.com/questions/7422859/memorycache-disposed-in-web-application
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)