【发布时间】:2013-04-12 08:27:29
【问题描述】:
我正在尝试查找负责引发间歇性System.ServiceModel.CommunicationException 异常的 Web 方法(Web 应用程序有数百个)的名称。
我有一个可以捕获异常的错误处理程序 (IErrorHandler),但异常信息并未将我指向异常的来源。
有什么方法可以确定哪个 web 方法导致了异常?
唯一的堆栈跟踪信息如下:
System.ServiceModel.CommunicationException:从管道读取错误:无法识别的错误 109 (0x6d)。 ---> System.IO.PipeException:从管道读取错误:无法识别的错误 109 (0x6d)。
在 System.ServiceModel.Channels.PipeConnection.OnAsyncReadComplete(布尔 hasResult,Int32 错误,Int32 numBytes)
--- 内部异常堆栈跟踪结束 ---
在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果)
在 System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.End(IAsyncResult 结果,消息和消息)
在 System.ServiceModel.Dispatcher.DuplexChannelBinder.EndTryReceive(IAsyncResult 结果,RequestContext& requestContext)
在 System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult 结果,RequestContext& requestContext)
谢谢
【问题讨论】:
-
你能用visual studio来调试吗?你看过异常的堆栈跟踪吗?
-
是的,我可以,但堆栈跟踪并未指明实际的 Web 方法源。
-
@peer - 不幸的是,内部异常也没有任何有用的信息,只有
There was an error reading from the pipe: Unrecognized error 109 (0x6d)。 -
尝试配置tracing:[Tracing][1] [1]:msdn.microsoft.com/en-us/library/ms733025.aspx