【问题标题】:Run Application_Start immediately when application pool restarts in IIS在 IIS 中重新启动应用程序池时立即运行 Application_Start
【发布时间】:2012-05-24 07:07:33
【问题描述】:

我们在应用程序的 application_start 阶段做一些缓存操作。因此,当应用程序池重新启动时,所有缓存都将消失。是否可以在应用程序池重启时触发 application_start 或者您有更好的想法来解决这个问题?

【问题讨论】:

    标签: c# .net iis iis-7


    【解决方案1】:

    您可以使用Application Initialization for IIS 7.5,它借鉴了 IIS8 的功能,或者如果您使用的是 ASP.NET 4.0 +,则可以使用 application auto start

    对于 ASP.NET 2.0 i 3.5 有一个 IMO 有点骇人听闻的解决方案,您可以在事件日志中记录应用程序池回收,然后在事件日志中设置将在该事件上执行的任务,这里是 details

    【讨论】:

    • 不幸的是应用程序自动启动功能只有IIS7.5
    • 详情链接已失效。
    • 嗯?所有三个链接都对我有用。也许是暂时的停机时间?
    【解决方案2】:

    Application_Start 仅在第一次请求时调用。如果没有请求,我不确定缓存一些东西是个好主意。

    我希望您只需在第一次请求时加载缓存。
    您的 CacheManager 可以决定是否需要自动加载它的数据。

    你怕第一个请求会慢吗?

    【讨论】:

    • 是的。问题是第一个请求会比较慢。
    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 2012-03-28
    • 2018-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 2014-04-18
    相关资源
    最近更新 更多