在编码 Web 服务时,如何构建返回值?您如何处理错误情况(预期的和意外的)?如果您要返回像 int 这样简单的东西,您是直接返回它,还是将其嵌入到更复杂的对象中?一个服务中的所有 Web 方法是否都返回单个类的实例,或者是否为每个方法创建一个自定义返回值类?

有帮助吗?

解决方案

我喜欢请求/响应对象模式,在该模式中,您将参数封装到单个 [Operation]Request 类中,该类具有简单的公共属性。

类似于 AddCustomerRequest,它将返回 AddCustomerResponse。

例如,响应可以包括有关操作成功/失败的信息、UI 可能使用的任何消息,可能还包括所添加的客户的 ID。

另一个好的模式是使这些全部源自一个简单的 IMessage 接口,其中您的一般端点类似于 Process(params IMessage[] messages)...这样您就可以在同一个 Web 请求中传递多个操作。

其他提示

本的回答+1。

此外,我建议考虑通用响应允许多个错误/警告项目,以使回复尽可能全面且可操作。(您想要使用在出现第一条错误消息后停止的编译器,还是尽可能告诉您更多信息的编译器?)

如果您使用 SOAP Web 服务,那么 SOAP 错误 是返回错误详细信息的标准方法,其中错误消息可以返回您喜欢的任何其他详细信息。

Soap 错误是一种标准做法,其中调用应用程序是 Soap 客户端。在某些情况下,例如使用 XMLHTTP 的 COM 客户端,Soap 被解析为 XML,并且 Soap 错误无法轻松处理。还不能投票,但可以为@Ben Scheirman 再次+1。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top