1

シナリオは次のとおりです。ユーザーがオンプレミスのエンドポイントと「通信」できるようにするアプリケーションを実装しています。私たちはいくつかの調査を行っており、Windows Azure サービス バス トピックは、双方向通信を作成し、ファイアウォールや NAT デバイスの問題を解決するのに役立つため、適切な選択のようです。ただし、ユーザーはステートレス Web アプリ (この場合は MVC 3) を介してマシンと対話するため、すべての要求でTopicClient
を 再作成することは受け入れられません。 各ユーザーには独自のエンドポイントがあるため、誰かが提案したように 1 つのTopicClientを共有しても機能しません。 別のアプローチは、セッションを使用しています

ユーザーごとに TopicClient を保持する必要がありますが、セッションを使用することは、ステートレスで Windows Azure Web アプリでホストされている場合には適していないようです。

どんな助けでも大歓迎です。

4

1 に答える 1

0

クライアントとサービス間の実際の接続は MessagingFactory レベルに存在し、そのファクトリから作成されたすべての TopicClient オブジェクトは同じ接続を共有します。したがって、必要なだけ MessagingFactory や TopicClients をキャッシュすることができます。さらに、これらのオブジェクトはスレッドセーフであるため、異なるコンシューマが同時に共有して使用できます。

于 2012-08-30T01:32:52.260 に答える