我有一个ASP.NET MVC 4应用程序,它运行在带有IIS 8.5计算机的Windows 2012 R2上。有一种奇怪的行为,我无法弄清楚。缓存似乎正在清除自己。缓存,我的意思是MemoryCache.Default
,HttpContext.Current.Cache
,还有OutputCache
。我在谷歌上搜索了几个小时,似乎没有错。你能列出清除缓存的原因吗?我的意思是有一个清单,我可以测试服务器吗?提前谢谢。
答案 0 :(得分:1)
这些缓存存放在内存中,因此是不稳定的。它们是针对IIS生成的W3wp进程来处理这些请求的。
在一段时间不活动之后,IIS会关闭进程,因此这些缓存将被清除。
IIS还会关闭进程(回收应用程序池)
如果需要更长时间地保留这些项目,则需要查看在持久存储区域中缓存对象,例如db或应用程序状态受管服务器。