ASP.NET MVC Cache正在清理自己

时间:2015-01-25 13:34:52

标签: c# asp.net-mvc-4 caching windows-server-2012-r2 iis-8.5

我有一个ASP.NET MVC 4应用程序,它运行在带有IIS 8.5计算机的Windows 2012 R2上。有一种奇怪的行为,我无法弄清楚。缓存似乎正在清除自己。缓存,我的意思是MemoryCache.DefaultHttpContext.Current.Cache,还有OutputCache。我在谷歌上搜索了几个小时,似乎没有错。你能列出清除缓存的原因吗?我的意思是有一个清单,我可以测试服务器吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

这些缓存存放在内存中,因此是不稳定的。它们是针对IIS生成的W3wp进程来处理这些请求的。

在一段时间不活动之后,IIS会关闭进程,因此这些缓存将被清除。

IIS还会关闭进程(回收应用程序池)

  • 默认情况下,经过1746分钟(IIRC)
  • 线程使用的内存达到设定的阈值后
  • 缓存也是通过线程隔离的,因此如果您有一个Web场/ Web园,则不再共享这些缓存,IIRC

如果需要更长时间地保留这些项目,则需要查看在持久存储区域中缓存对象,例如db或应用程序状态受管服务器。