我正在设计一些服务,我想获得一些关于我正在使用的约定的反馈。
对于所有操作,我总是定义一个“上下文”对象和一个“结果”对象,因为有以下优点:
- 可扩展性:我可以在不更改接口的情况下将参数添加到上下文或对象到结果
- 紧凑性:定义中只有一个对象,即使我需要很多参数
例子:
[OperationContract]
DoSomethingResult DoSomething(DoSomethingContext context)
无论如何,由于以下原因,我不确定这是不是最好的方法:
- 开销:我总是将响应属性包装到一个对象中。有时,Result 对象没有属性
- 版本控制:WCF 具有内置的合约版本控制,也许使用不同的版本来告知差异可能会更好
事实上,我也使用与普通方法相同的技术,因此获得一些反馈、建议、批评等对我来说很重要。
谢谢