.NET 2.0中的未处理异常是否重置了应用程序?

时间:2010-12-17 14:30:05

标签: asp.net exception-handling iis-6 elmah unhandled-exception

我的公司有一个处理购物车结帐流程的应用程序。该应用程序使用.NET 2.0 Framework在VB.net中编写。我们正在运行IIS 6.0作为Web服务器,并且我们认为具有出色的异常处理能力。对于那些我们无法弄清楚它们为什么会发生的例外,我们使用Elmah来处理它们,将它们打包并发送给我们。

我们仍然看到大量未经处理的例外情况,由Elmah处理。

我的问题是:这是一个同时被网络上的许多人使用的应用程序。如果存在未处理的异常(由Elmah处理,请注意),这是否会重置应用程序,以便所有没有做任何调皮的用户在发生这种情况时看到应用程序在他们面前爆炸?

2 个答案:

答案 0 :(得分:4)

不,Web应用程序中未处理的异常只会导致当前请求崩溃。整个应用程序崩溃的唯一方法是,如果异常表示全局资源(如可用虚拟内存或数据库连接)的问题,但即使这样,崩溃也不会由异常引起。每个执行请求都会获得它自己的孤立异常。

答案 1 :(得分:1)

不,它不会。

每个请求都由不同的线程处理,因此,未处理的异常只会导致该线程终止。