WCF服务中返回值的最佳实践

时间:2010-07-20 23:19:02

标签: wcf service return-value cloud

我在云端有一个WCF服务。 我的应用程序多次调用此WCF服务。 这是最佳做法: 1]总是使用返回值作为bool,表示操作是否成功。 2]返回您要返回的值作为OUT参数

2 个答案:

答案 0 :(得分:1)

我会:

  • 返回原子值(bool,string,int)(如果适用)
  • 如果我需要返回多个值,则返回复杂类型(类实例) - 确保使用[DataContract]标记该类,并使用[DataMember]标记其属性

  • 发生错误时的SOAP错误FaultException<T>; <T>部分允许您定义自己的自定义错误类,并且再次 - 不要忘记使用[DataContract] / [DataMember]标记它们,并在操作中将它们声明为FaultContract

    < / LI>

答案 1 :(得分:0)

1]总是使用返回值作为bool,表示操作是否成功

  • 是的,如果操作不耗时且返回状态始终相关: 等待返回值可能会影响客户端和服务主机(服务器)性能/可伸缩性。防爆。在Request-Responsecall中,请求可以保持连接打开很长时间等待操作完成。您可以以类似于“HTTP 202 Accepted”状态代码使用的方式实现(即操作接收参数并且已经开始(暂时),但是等待完成)
  • 不,如果操作逻辑只在同步时才有意义。
  • 不,如果你热衷于可重构性/可维护性。如果要返回,请在返回时包含错误消息/代码。

2]返回您要返回的值作为OUT参数

  • 是的,这使得服务操作更符合wsdl并且易于阅读。