servicestack - 服务栈的推荐错误传播策略

标签 servicestack

我有调用另一个 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/

相关文章:

c# - 我可以为每个请求使用带有方法参数的 ServiceStack 路由而不是 DTO 类吗?

c# - OrmLite 在连接表中选择多列

c# - ServiceStack.OrmLite : Again, 序列化失败,从 blobted 字段读回时, bool 值变成字符串

unit-testing - 如何最好地对使用 IServiceGateway 调用其他内部服务的 ServiceStack 服务进行单元测试

c# - ServiceStack.Text 和 DeserializeFromString 其中 Json 名称是非法的

c# - ServiceStack ORMLite 保存嵌套【引用】

servicestack - 如何将 NLog Config 与 ServiceStack 日志一起使用?

servicestack - 在 apphost 上运行基本身份验证测试时出现 400 错误

c# - 检查 SignalR 属性中的授权

c# - 如何从 ServiceStack 中返回 Stream 的 Action 中获取异常的正常/自定义错误响应?