在具有并发用户的Asp.Net中发生异常会发生什么

时间:2016-03-10 20:18:55

标签: asp.net performance exception-handling scalability

是否会导致所有线程,我的意思是所有用户停止并增加等待时间http请求队列并开始影响应用程序的可用性?

如果是这样,我们应该确保在asp.net应用程序中没有遗留任何异常,以确保应用程序的可伸缩性。

2 个答案:

答案 0 :(得分:1)

某些未处理的异常可以终止w3wp.exe。因此,您应该处理异常。 Application_Error无法处理在另一个线程上抛出的内容(后台工作人员,开火和遗忘)。您应该使用http模块来处理这类错误。但它也无法捕获stackoverflow错误。如果要在应用程序级别处理异常,则应使用一些decarations。 Here更详细。

除此之外,我认为异常不会影响其他用户。 Exception and performance

  

基本上,除非您有异常,否则不应经常发生例外情况   重要的正确性问题,如果你有重大意义   正确性问题然后表现不是你最大的问题   面。

我喜欢这句话:)

答案 1 :(得分:0)

  

它是否导致所有线程,我的意思是所有用户停止和   增加http请求队列的等待时间并开始影响   应用程序的可用性

这取决于例外情况。例如, OutOfMemoryException 会影响所有用户。

另一方面, FileNotFoundException 不会影响其他用户。

  

如果是这样,我们应该确保没有遗漏任何例外   asp.net应用程序,以确保应用程序的可伸缩性。

好吧,我们所有的开发人员都试图编写无错误的代码,但有时事情会失控。这就是我们使用日志记录捕获运行时异常的原因 - 例如Log4NetNLog