我们在 EventLog 中观察到随机(如 1-5 天一次)IIS 崩溃异常。
服务器 - Windows Server 2012 R2。
- 第一个是访问冲突(更常见):
应用程序:w3wp.exe
框架版本:v4.0.30319
描述:进程因未处理的异常而终止。
异常信息:System.AccessViolationException
堆栈:
这个没有额外的细节。
- 另一种是目标调用(不太常见):
应用程序:w3wp.exe
框架版本:v4.0.30319
描述:进程因未处理的异常而终止。
异常信息:System.Reflection.TargetInvocationException
堆栈:
在 System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
在 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[ ], System.Object[])
在 System.Delegate.DynamicInvokeImpl(System.Object[])
...(进一步的各种堆栈跟踪)...
我们已经使用此 TargetInvocationException 的一些变体执行了一些调试,并通过在特定位置强行抛出异常,我们可以重复其中一个堆栈跟踪,但它有一个内部异常(这里没有)+ 没有使 IIS 崩溃并且通常将错误返回到包裹在 FaultException 中的客户端。
您认为这可能与 .NET 4.0 处理损坏的进程状态的变化有关吗?https://msdn.microsoft.com/en-us/library/system.runtime.exceptionservices.handleprocesscorruptedstateexceptionsattribute(v=vs.110).aspx