我正在使用C#编写适用于.NET 4.5.1的MVC web应用程序,我正在使用一个外部dll库。似乎这个库偶尔会抛出AccessViolationException。ASP.NET MVC应用程序是否在AccessViolationException中自动重启?
我试图捕获异常与
[HandleProcessCorruptedStateExceptions]
属性及与
HttpRuntime.UnloadAppDomain();
重启catch块中的应用程序。 这工作有点好,但有时这种异常旁路尝试阻止和崩溃。
IIS是否处理崩溃并通过重新启动自动从此异常中恢复应用程序,或者是否有我需要做的事情?
IIS应该从故障中恢复并回收,并使站点备份。确保使用web.config中定义的机器键来限制最终用户出现问题。 – 2014-09-29 20:05:45
至于我,你需要找到为什么外部库失败,并尝试避免这种情况,因为重新启动应用程序池是非常不友好的WebApp用户,因为它会导致会话丢失\延迟由于应用程序域重新启动 – 2014-09-29 20:21:30