我在从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)
此代码导致客户端中的合同不匹配错误.任何人都可以帮我找到错误吗?
指定需要返回的错误类型(例如,创建 UserMismatchFault 类),然后像这样抛出它:
throw new FaultException<UserMismatchFault>(myFault);
Run Code Online (Sandbox Code Playgroud)