我正在使用 C# 开发适用于 .NET 4.5.1 的 MVC Web 应用程序,并且我正在使用一个外部 dll 库。看来这个库偶尔会抛出 AccessViolationException。
我试图用
捕获异常[HandleProcessCorruptedStateExceptions]
属性并重新启动应用程序
HttpRuntime.UnloadAppDomain();
在 catch block 内。 这工作得很好,但有时这个异常会绕过 try block 并崩溃。
IIS 是否会处理崩溃并通过重新启动自动从该异常中恢复应用程序,或者我需要做什么?
最佳答案
未经检查的异常通常不会导致应用程序域卸载或应用程序池循环。如果您遇到未经检查的异常,您可以考虑使用 ELMAH捕获并记录异常,以便您可以首先了解它们发生的原因。
定期卸载您的应用程序域来“处理异常”将是一件非常可怕的事情,我建议首先尝试找出它们发生的原因。
关于c# - ASP.NET MVC 应用程序是否会在 AccessViolationException 上自动重新启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107880/