我正在尝试实现IErrorhandler,这被证明是一件非常痛苦的事情!
我已经从IErrorhandler接口实现了provideFault方法,如下所示...
public void ProvideFault(Exception error, MessageVersion version, ref Message fault)
{
FaultException<ServiceFault> faultException = ServiceMethods.BuildFaultException<ServiceFault>("Provide Fault Error", error.Message);
MessageFault messageFault = faultException.CreateMessageFault();
fault = Message.CreateMessage(version, messageFault, faultException.Action);
}如果我的服务操作遇到异常,它将使用此方法来创建一个FaultException。我的问题是客户端没有把这个FaultException返回给他们。
我是不是漏掉了什么明显的东西?
提前感谢
发布于 2013-12-04 19:16:07
如果您没有看到FaultException<ServiceFault>客户端,请仔细检查您的服务上是否缺少fault contract:
[ServiceContract]
public interface IHelloService
{
[OperationContract]
[FaultContract(typeof(ServiceFault))]
void DoWork();
}发布于 2013-12-04 18:52:01
我有一点使用WCF的经验,但我认为你只是在创建一条消息,而不是通过请求或响应来发送它。我认为由于这个原因,你的客户没有得到异常的消息。
您是否实现了IErrorHandler接口的方法HandleError?
您的问题与已在中提出的问题类似,因此:
也许他们能帮到你。
另请阅读MSDN中的this thread。
https://stackoverflow.com/questions/20372568
复制相似问题