15

...是否会为下一个请求再次运行 Application_Start 方法?

它是否取决于 ASP.NET 版本、托管服务器版本和/或其他上下文?

我正在尝试确定在那里加载关键程序集是否是一件好事。例如,对于整个应用程序的运行是否至关重要的数据访问程序集。未能加载此类程序集将使后续请求无用。

4

1 回答 1

10

Application_Start 只会为每个 Web 应用程序触发一次,因此在您的情况下,后续请求将不会再次启动。

通常,我更喜欢将一次性启动代码放在应用程序启动中的 try-catch 中,如果出现异常,则设置全局错误标志。在每个 BeginRequest 中,都会检查该标志,如果已设置,用户将被重定向到一个自定义错误页面,指示该站点已关闭,请联系管理员。

于 2011-05-04T04:53:44.177 回答