servicestack的推荐错误传播策略

时间:2013-01-10 14:36:56

标签: servicestack

我有ServiceStack服务(A)调用另一个ServiceStack服务(B)。

如果(B)抛出错误,我可以在(A)中捕获WebServiceException,但是建议的方法是将(B)的错误传回(A)的客户端?我应该重新抛出(B)的例外还是不抓住它?

1 个答案:

答案 0 :(得分:2)

如果您正在使用键入的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

希望这是有道理的。