Rya*_*son 12 soap web-services exception-handling asmx
我不确定在Web服务中抛出异常是一个好主意我感到非常高兴.如果不是堆栈跟踪,我也不会介意.这不是我不想要的.
我已经围绕几个实现进行了研究,似乎对此没有达成共识.例如,CampaignMonitor会返回Result对象,而其他人则不会.
在架构上,我不确定返回一个返回对象是否有意义,当然异常是一个例外,但我对Return对象的喜欢之处在于它对于最终用户来说是一个更优雅的解决方案.
有没有人有更好的解决方案?
编辑
顺便说一下,我正在使用ASMX Web服务,其中打开CustomErrors不是一个选项.
不要让你在网络服务中的事实混淆了这个问题.这只是一个实现细节.
使用您的正常异常处理策略.最佳实践说不要在低级别代码中捕获异常 - 除非您可以在那里解决该异常并继续正常进行.应该将异常提升到表示层,以便可以通知用户错误.
因此,应用于Web服务 - 通常抛出异常(导致SoapFault).这允许调用客户端代码使用它的内置异常处理标准来处理它.
您在谈论什么堆栈跟踪?你试过这个吗?
在ASMX和WCF服务中,未捕获的异常将转换为SOAP错误.在这两种情况下,它们都可以配置为不包含任何堆栈跟踪.实际上,这是WCF中的默认值.
因此,返回这样的错误的正确方法是通过错误.产生错误的一种方法是抛出而不处理异常.
| 归档时间: |
|
| 查看次数: |
12302 次 |
| 最近记录: |