我们正在应用程序的application_start阶段进行一些缓存操作。因此,当应用程序池重新启动时,所有缓存都将消失。是否可以在应用程序池重新启动时触发application_start,或者您有更好的想法来解决此问题?
答案 0 :(得分:5)
您可以使用Application Initialization for IIS 7.5,它借用IIS8中的功能,或者如果您使用的是ASP.NET 4.0 +,则application auto start。
对于ASP.NET 2.0 i 3.5,有一个IMO有点hackish解决方案,您可以在事件日志中记录应用程序池回收,然后在事件日志中设置将在该事件上执行的任务,这里是{{3} }
答案 1 :(得分:0)
仅在第一次请求时调用Application_Start。如果没有请求,我不确定缓存某些内容是个好主意。
我会在第一次请求时加载缓存 您的CacheManager可以决定是否需要自动加载它的数据。
您是否担心第一个请求会变慢?