应用程序商店在ASP.Net网站上刷新的频率如何?

时间:2009-11-09 16:38:20

标签: asp.net

我正在研究的网站正在广泛使用HttpContext.Current.Application商店来缓存数据库中的查找数据。 (这不是很多数据 - 只是在下拉列表中使用的简单事物等。)

关于这种方法的一些问题:

  • 此商店是否具有生命周期(与用户会话在20分钟后超时的方式相同,应用商店是否超时)?

  • IIS中的事件或与网站相同的App Domain中的事件是否会导致应用商店刷新? (我知道更改web.config文件中的值会导致重新创建商店..还有其他事情可以做到吗?)

  • 有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

Web.config导致应用程序重新启动,正是该操作正在清除HttpContext.Current.Application。

重新启动应用程序,触摸web.config,在IIS中手动执行此操作,使IIS回收应用程序池的任何内容都将“清除”该数据。

考虑到这一点,它仍然是最多的内存商店,所以如果你需要更多的东西,你将不得不将你的数据保存到磁盘或某个地方的数据库。

你可能并不真的需要使用它(我们很少这样做),通常最好的策略是使用应用程序缓存并根据需要重建资源。只要您的服务器不在高内存压力下,就不会丢弃缓存(unelss设置了到期时间)。

答案 1 :(得分:0)

我的理解是适用于应用程序生命周期,或直到重置应用程序池。

关于IIS中的应用程序/会话池将被回收的所有各种原因,有一篇很好的文章here

IIS和web.config中都有设置可以更改应用程序商店可用性的行为。