2013-02-28 11 views
66

SignalRを使用してすべてのクライアントにメッセージをブロードキャストしています。私は以下のように私のハブクラス、すなわち何かの中継車をトリガする必要があります。サポートされていないHubPipelineによって作成されていないハブインスタンスを使用してhubpiplelineの外部でSignalRハブインスタンスを使用する方法

var broadcast = new chatHub(); broadcast.Send("Admin","stop the chat");

は私がようなエラーメッセージを取得しています。

答えて

111

あなたはGetHubContextを使用する必要があります。

var context = GlobalHost.ConnectionManager.GetHubContext<chatHub>(); 
context.Clients.All.Send("Admin", "stop the chat"); 

これはhttp://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server#callfromoutsidehubでより詳細に記載されています。

+0

ありがとう、私はそれを見つけた –

+4

"context.Clients.All.Send"は、他の人にだけ、発信者にブロードキャストしません。何か案は? – user384080

+4

'GetHubContext'を使用している場合、これはハブの外で使用されるための呼び出し元がありません。 'Clients.All'は、現在ハブに接続しているすべてのクライアントに対処する必要があります。 – halter73

関連する問題