c# - ASP.NET MVC 应用程序是否会在 AccessViolationException 上自动重新启动?

标签 c# asp.net access-violation

我正在使用 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/

相关文章:

c# - 确定 AccessViolationException DragDrop.DoDragDrop 的原因

c# - 为什么不是所有字段/属性/方法都是公开的?

c# - 如何在 C# 中获取以前的 url?

c# - 绑定(bind)数组+一个对象到Dropdownlist

c++ - "0xC0000005: Access violation"使用 fstream 时

c++ - 搜索列表中的最后一个数据实例

c# - 避免单声道中未安装 PCL 引用程序集错误

c# - 在桌面上运行时,如何将 Windows 10 通用应用程序的窗口最大化到全屏?

c# - 从二维数组中删除重复值

c# - 在 C# 中读取随机访问文件