我有调用另一个 ServiceStack 服务 (B) 的 ServiceStack 服务 (A)。
如果 (B) 抛出错误,我可以在 (A) 中捕获 WebServiceException,但是将 (B) 的错误传播回 (A) 的客户端的推荐方法是什么?我应该重新抛出 (B) 的异常还是不捕获它?
最佳答案
如果您使用类型化的 C# 客户端从 (A) 调用 (B),那么是的,如果您希望将异常传播到 (A) 的客户端,那么您可以不捕获它,而 C#客户端将抛出它遇到的任何异常,这些异常将被序列化到 (A) 的客户端,如果该客户端正在使用 C# ServiceClient,它将依次抛出该异常。
流程大致如下所示:
(A client) -> (A service) -> (B client) -> (B service)
deserializes <- deserializes <- throws Exception E
and rethrows E and rethrows E
希望这是有道理的。
关于servicestack - 服务栈的推荐错误传播策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14260316/