【发布时间】:2011-03-04 08:09:30
【问题描述】:
在一些类似企业的项目(.NET、WCF)中,我看到所有服务合同都接受单个 Request 参数并始终返回 Response:
[DataContract]
public class CustomerRequest : RequestBase {
[DataMember]
public long Id { get; set; }
}
[DataContract]
public class CustomerResponse : ResponseBase {
[DataMember]
public CustomerInfo Customer { get; set; }
}
其中RequestBase/ResponseBase 包含常见的东西,如 ErrorCode、Context 等。服务方法和代理的主体都包装在 try/catch 中,因此检查错误的唯一方法是查看 ResponseBase.ErrorCode(即枚举) .
我想知道如何调用这种技术,以及为什么它比传递所需的方法参数和使用标准 WCF 上下文传递/故障机制更好?
【问题讨论】: