设计带有返回代码的简单Web服务的最佳实践

时间:2010-09-10 16:11:07

标签: web-services wcf

我正在设计一个WCF服务,该服务将返回响应代码(例如0表示成功,或其他数字表示错误)。此外,Web服务的所有方法都将执行几种常见的验证(例如验证apiKey)。

我想知道是否有最佳实践方法或组织和检索这些响应代码和消息。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:9)

理想情况下,请勿使用响应代码。返回成功(或无效)时可用的东西,并在失败时抛出异常。

人们处理异常。我们经常忘记查看返回的代码,特别是99%的时间它成功,我们不关心任何响应。所以我们不捕捉。然后我们不打扰检查失败。然后我们花了2天时间追踪我们找不到的错误,因为没有抛出任何异常,我们不知道使用您的网络服务的600,000行应用程序失败了...我们甚至不知道这是对您的调用失败的网络服务。只是由于某些未知原因,某些数据是错误的。

有一个关于此问题的主题:Which and Why do you prefer Exceptions or Return Codes

答案 1 :(得分:2)

请勿直接使用返回代码。返回代码通常表示成功,预期失败和意外失败。 Web服务将此机制替换为预期的故障和意外故障。检查FaultContractFaultException<T>以获取预期故障的实施细节。意外故障是任何其他异常。这是最好的做法。