返回WCF自定义错误异常

use*_*975 7 wcf

我在从wcf服务返回自定义错误异常时遇到了一些麻烦.与wcf服务通信的客户端应用程序获取 - 合同不匹配错误.这是我在服务中定义的错误合同:

public partial class Fault
{
    string codeField;
    string messageField;
    string detailsField;
}
Run Code Online (Sandbox Code Playgroud)

在服务错误时,我创建自定义错误异常如下:

public void ProvideFault(Exception exception, MessageVersion version, ref Message       refMessage)
{
      mynamespace.Fault customFault = new mynamespace.Fault()
      {
           code = "Service Error",
           message = "Error Message",
           details = "Error Message"
      };

      FaultException<mynamespace.Fault> faultexception = new   FaultException<mynamespace.Fault>( customFault );

      MessageFault messageFault = faultexception.CreateMessageFault();

      refMessage = Message.CreateMessage( version, messageFault, faultNamespace );
}
Run Code Online (Sandbox Code Playgroud)

此代码导致客户端中的合同不匹配错误.任何人都可以帮我找到错误吗?

Roy*_*tus 3

指定需要返回的错误类型(例如,创建 UserMismatchFault 类),然后像这样抛出它:

throw new FaultException<UserMismatchFault>(myFault);
Run Code Online (Sandbox Code Playgroud)