0

我的问题是关于 WCF 服务中的错误处理并将错误信息传递回调用客户端。我知道我们可以在定义接口时将 FaultContract 用作​​ ServiceContract 的一部分。如果我不想使用 FaultContract 并且作为我的 DataContract 响应的一部分,我将错误响应或成功响应作为 Result 类型的对象包含在内怎么办?

这两种方法有什么区别?特别是在内部使用了任何额外的渠道?

我已经尝试了这两种方法并且都有效。到目前为止我所知道的是方法 2,不需要客户端知道要捕获什么错误,他只需调查 Result 对象即可查看。

FaultContract 代码示例

public interface ICalculator
{
    [OperationContract]
    [FaultContract(typeof(MathFault))]
    int Divide(int n1, int n2);
}

我的错误处理代码

public interface ICalculator
{
    [OperationContract]
    Result Divide(int n1, int n2);
}

[DataContract]
public class Result 
{
    [DataMember]
    public bool Success { get; set; }
    [DataMember]
    public string ErrorNumber { get; set; }
    [DataMember]
    public string ErrorMessage { get; set; }
 }
4

0 回答 0