现象
调试阶段,VS在“调试-输出”窗口中输出类似以下的异常信息:
在 System.ServiceModel.MessageHeaderException 中第一次偶然出现的“System.ServiceModel.dll”类型的异常.
但代码继续正常执行,应用程序也未出错关闭。
解决
1、打开菜单“调试-异常...”,在“Common Language Runtime Exceptions”中将目标异常勾选“Throw(引发)”与“User-Unhandled(用户未处理的)”。
2、再次调试,VS会直接在出现异常处断下。如:
public void AfterReceiveReply(ref Message reply, object correlationState)
{
try
{
_headerValue = reply.Headers.GetHeader<string>(Name, Namespace);
}
catch
{
}
}
修正吧:
public void AfterReceiveReply(ref Message reply, object correlationState)
{
var index = reply.Headers.FindHeader(Name, Namespace);
if (index >= 0)
_headerValue = reply.Headers.GetHeader<string>(index);
}
3、哦也~