[停止进程时,我通过AppDomain.UnhandledException
事件捕获了以下异常。 Windows 7上的最新.NET 4.0。
IsTerminating flag:True
Unhandled exception: System.IO.IOException: The handle is invalid
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.EventWaitHandle.Set()
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
任何人都知道这是什么原因吗?
PerformIOCompletionCallback
中未处理的异常,如果在未完成的异步IO操作期间处置了套接字,则可能会发生。操作完成后,它将尝试访问已处置套接字的成员,因此无法很好地发挥作用。
在此异常期间创建的内存转储可以在此处阐明一些内容。 This blog post应该有助于在这方面解决问题。