0

フロントエンド (MVC) とバックエンド (Azure WorkerRole) を分離する NServiceBus を使用して、HttpContext.Current が NULL になるという問題があります。IMutateTransportMessages を使用して、送信および受信 TransportMessages をインターセプトしています。セッション (MVC フロントエンド) にいくつかのデータがあり、Mutators を使用して発信 TransportMessages に自動的に追加する必要があります。同様に、着信 TransportMessages からセッションにデータを挿入する必要があります。

理解を深めるために、単純化したシナリオを見てみましょう。

フロントエンド:

  1. セッションにデータD1があります
  2. CommandX を NServiceBus に送信します >> MutateOutgoing [セッションからデータD1を取得し、それを TransportMerssage ヘッダーH1に挿入します] >> メッセージがバスに送信されます

バックエンド: 3.データD1を含むヘッダーH1を持つCommandX受信し ます。

フロントエンド: 6. NServiceBus で CommandX の「応答」を取得 >> MutateIncomming [バックエンドからのヘッダーH2にデータD2があり、このデータをセッションに挿入して MVC フロントで使用できるようにしたい-終了しますが、HttpContext.Current がnullであるため、できません]

MutateIncomming からではなく、MutateOutgoing からセッションにアクセスできるのはなぜですか? 回避策はありますか?

ありがとうございました!マーティン

4

1 に答える 1