13

アプリケーションを監視するための SignalR のテストを開始したところです。クライアント側でハブを呼び出すコントロールがあります。クライアントが Connection.Hub.Start() を作成するたびに、サーバーに新しい Hub インスタンスが作成されることに気付きました。常にコントロールを更新する必要があるため、それぞれに新しいハブを作成したくありません。

すべてのクライアントに対して単一のハブを作成する方法はありますか、それとも足りないものがありますか?

4

1 に答える 1

20

Hub インスタンスは要求ごとに作成されます。これは、WebForms で要求ごとに ASP.NET Page インスタンスが作成されるのと同じように、ASP.NET MVC で要求ごとにコントローラーが作成されるか、使用時にサービス要求ごとに WCF サービス インスタンスが作成されます。 InstanceMode.PerCall.

Hub リクエスト/インスタンス間で共有状態を維持したい場合は、静的フィールドまたはその他のより高度な状態共有形式 (依存性注入シングルトンなど) を使用する必要があります。

于 2012-07-16T15:56:53.603 に答える