如果在Application_Start中抛出未处理的异常会发生什么?

时间:2011-05-03 23:00:08

标签: asp.net iis exception unhandled-exception application-start

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

是否依赖于ASP.NET版本,托管服务器版本和/或其他上下文?

我正在尝试确定在那里加载关键程序集是否是一件好事。例如,数据访问程序集对整个应用程序的运行至关重要。如果没有加载这样的程序集会使后续请求无效。

1 个答案:

答案 0 :(得分:9)

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

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