0

皆さん、これは簡単なシナリオです

  • NServiceBus クライアント/サーバーのセットアップ。
  • 「メッセージ」は私が書いたカスタム クラスです。

クライアントはリクエスト メッセージを送信します。サーバーがメッセージを受信すると、サーバーは次のことを行います。

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

その後、何もありません。クライアントは応答を受け取りません。

例外:

log4net NServiceBus のログを調べてみると、例外が見つかりました。カスタム クラスの "users" がSerializableとしてマークされていないことがわかりました。

さて、そのようなエラーを「スロー」または「処理」するにはどうすればよいでしょうか。

NServiceBus はエラーを処理しないという考えを促進しているように見えますが、このシナリオでは、ある種の「スロー」が明らかになれば、多くの時間を節約できたはずです。

このような例外はどのように処理すればよいですか? どこで発生し、どこに行きますか?

4

1 に答える 1

0

やあみんな、これは私が問題を解決した方法です:

基本的に、私は、nServiceBusのエラーを実際に「処理」する必要があることを学びました。これは、そのように設計されていないだけです。したがって、私が行ったアプローチは2つあります。

  1. UnitTesting-テストを実行します。nServiceBusには、通信部分のテストを記述できる非常に優れたTesting名前空間があります。
  2. インテリジェントロギング-この場合、エラーログを他のログに分離します。nServiceBusはlog4netを使用するため、単純な構成を使用して、いくつかのクールなロギングバリエーションを取得するのは非常に簡単です。
于 2010-05-04T01:55:29.430 に答える