非常简单使用NServiceBus进行错误处理

时间:2010-04-29 23:30:14

标签: c# .net error-handling nservicebus

嘿伙计们,这是一个简单的场景

  • NServiceBus客户端/服务器设置。
  • “消息”是我写的自定义类。

客户端发送请求消息。服务器接收消息,服务器执行此操作:

Bus.Reply(new UserDataResponseMessage { ID = Guid.NewGuid(), Response = users });

然后什么都没有。客户永远不会收到回复。

例外:

通过浏览log4net NServiceBus日志,我发现了一个异常,结果是我的海关类“用户”没有标记为 Serializable

好的,怎么会“抛出”或“处理”那种错误?

NServiceBus似乎提倡不处理错误的想法,但在这种情况下,看到某种“抛出”显然会节省很多时间。

我如何处理此类异常,它们发生在哪里,它们去哪里了?

1 个答案:

答案 0 :(得分:0)

嘿伙计们,这就是我解决问题的方法:

基本上,我已经了解到,你真的应该“处理”nServiceBus中的错误,它只是没有这样设计。所以,我走过的方法是双重的:

  1. UnitTesting - 运行测试。 nServiceBus有一个非常酷的Testing命名空间,你可以为通信部分编写一些测试。
  2. 智能日志记录 - 在这种情况下,请将错误日志与其他日志分开。因为nServiceBus使用log4net,所以使用简单的配置很容易获得一些很酷的日志记录变体。