我有ServiceStack服务(A)调用另一个ServiceStack服务(B)。
如果(B)抛出错误,我可以在(A)中捕获WebServiceException,但是建议的方法是将(B)的错误传回(A)的客户端?我应该重新抛出(B)的例外还是不抓住它?
答案 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
希望这是有道理的。