signalR を使用して特定のクライアント (ブラウザー) にデータをプッシュするイントラネット用の Web サイトを設計しています。
ASP.NET MVC4 では、サーバーに接続する各クライアントが新しいオブジェクト、つまりコントローラー クラスの新しいインスタンスを作成することを理解しています。ただし、特定のクライアントに新しいデータを送信できるように、C# で特定のコントローラー インスタンスを「アドレス指定」するにはどうすればよいですか。
signalR を使用して特定のクライアント (ブラウザー) にデータをプッシュするイントラネット用の Web サイトを設計しています。
ASP.NET MVC4 では、サーバーに接続する各クライアントが新しいオブジェクト、つまりコントローラー クラスの新しいインスタンスを作成することを理解しています。ただし、特定のクライアントに新しいデータを送信できるように、C# で特定のコントローラー インスタンスを「アドレス指定」するにはどうすればよいですか。
あなたはそうしない。
SignalR では、 を使用しClientId
て特定のクライアントに送信します。をターゲットにしませんController
。あなたのウェブサイトは、これらすべての単なるホストです..特定の実装(個々のクライアントに対する個々のコントローラーの存在など)については気にしません。
したがって、特定のユーザーに送信する場合は、 で追跡し、そのクライアントにデータをプッシュしますClientId
。Hub
または、永続的な接続がない場合は、クライアントに追跡用のトークンを生成させることができます。
SignalR の新しいバージョンでClientId
は、生成方法を制御できると確信しています。これにより、永続的な接続がなくても必要に応じて追跡できます (永続的な接続ClientId
がないと接続ごとに異なるため)。