使用ASP.NET Application_Start进行预热是否有任何异议?

时间:2017-10-26 12:06:49

标签: asp.net .net wcf warm-up

是否有人知道使用ASP.NET方法Application_Start进行应用程序预热有什么异议?

特别是对于Web服务,通​​常需要预先加载文件,缓存算法等等。

存在:

但是,这两种方法都要求对每个应用程序进行IIS配置更改,对于许多应用程序而言会有什么不舒服,并且在发布时会有额外的风险。

根据ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0

  

ASP.NET在应用程序域的生命周期内调用它们(Application_Start和Application_End)一次,而不是为每个HttpApplication实例调用它们。

因此,Application_Start似乎是热身代码的好地方,例如:

protected void Application_Start(object sender, EventArgs e)
{
    Task.Run(WarmUpBackend);
}

它只需将IIS应用程序配置为 AlwaysRunning 。在WarmUpBackend中,我们可以预先加载网络服务所需的一切。

1 个答案:

答案 0 :(得分:0)

使用Service autostart provider可能会更好。

Scott Guthrie有关于此的博文。