这是我理想中想要做的
public void AfterReceiveReply(ref Message reply, object correlationState)
{
if (reply.IsFault)
{
FaultException exp = reply.GetBody<FaultException>();
if (exp.Code.Name == "MyFaultCode")
{
//Do something here
}
}
}
但我得到了这个例外
第 1 行位置 82 出错。从命名空间“ http://schemas.datacontract.org/2004/07/System.ServiceModel ”中期待元素“FaultException” 。遇到名称为“Fault”的“元素”,命名空间“ http:/ /schemas.xmlsoap.org/soap/envelope/ '。
当我尝试做
FaultException exp = reply.GetBody<FaultException>();
从服务器端这就是我抛出异常的方式。
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext
instanceContext)
{
throw new FaultException("MyFaultCode", new FaultCode("MyFaultCode"));
}
有人可以告诉我如何从消息中反序列化故障异常,以便我可以访问故障代码吗?