如果我的网络服务中引发了异常,并且我想给用户一个更有意义的错误消息而不是通用的“处理您的请求时发生错误”,那么有什么可能可用于将异常消息传递回客户端的技术?
这是可以接受的实践吗?
答案 0 :(得分:2)
如果错误来自您的内部代码,.NET将在SoapException中包装您的内部异常并将其返回给用户。 JavaScript可以查找soapexception xml元素并使用它做一些事情。 SoapExceptions消息将与实际异常相同,因此您可能希望将其捕获到顶部并抛出更好的内容,并且没有堆栈跟踪。
然后,您可以向客户提供可能的SoapExceptions列表。
答案 1 :(得分:0)
我编写了Web服务,其中响应始终包含数字状态代码(0表示成功,非零表示某种类型的问题)以及文本状态消息。如果发生错误(非零状态代码),则状态消息包含问题的描述,否则为空。该服务还会返回一组数据,具体取决于用户调用的方法。它似乎对我们的客户有效。重要的是记录行为,以便客户知道期望什么,并且界面是一致的。
答案 2 :(得分:-1)