【发布时间】:2012-05-24 07:07:33
【问题描述】:
我们在应用程序的 application_start 阶段做一些缓存操作。因此,当应用程序池重新启动时,所有缓存都将消失。是否可以在应用程序池重启时触发 application_start 或者您有更好的想法来解决这个问题?
【问题讨论】:
我们在应用程序的 application_start 阶段做一些缓存操作。因此,当应用程序池重新启动时,所有缓存都将消失。是否可以在应用程序池重启时触发 application_start 或者您有更好的想法来解决这个问题?
【问题讨论】:
您可以使用Application Initialization for IIS 7.5,它借鉴了 IIS8 的功能,或者如果您使用的是 ASP.NET 4.0 +,则可以使用 application auto start。
对于 ASP.NET 2.0 i 3.5 有一个 IMO 有点骇人听闻的解决方案,您可以在事件日志中记录应用程序池回收,然后在事件日志中设置将在该事件上执行的任务,这里是 details
【讨论】:
Application_Start 仅在第一次请求时调用。如果没有请求,我不确定缓存一些东西是个好主意。
我希望您只需在第一次请求时加载缓存。
您的 CacheManager 可以决定是否需要自动加载它的数据。
你怕第一个请求会慢吗?
【讨论】: