66
我正在使用SignalR向所有客戶端廣播消息。我需要觸發廣播我的HUB類即東西之外象下面這樣:如何在hubpipleline外部使用SignalR集線器實例
var broadcast = new chatHub(); broadcast.Send("Admin","stop the chat");
我收到錯誤消息:
使用不是由HubPipeline創建不支持集線器實例。
我正在使用SignalR向所有客戶端廣播消息。我需要觸發廣播我的HUB類即東西之外象下面這樣:如何在hubpipleline外部使用SignalR集線器實例
var broadcast = new chatHub(); broadcast.Send("Admin","stop the chat");
我收到錯誤消息:
使用不是由HubPipeline創建不支持集線器實例。
您需要使用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。
謝謝,我發現它 – 2013-02-28 06:27:49
「context.Clients.All.Send」不會向調用者廣播回來,而是隻發送給其他人。有任何想法嗎? – user384080 2013-12-28 05:21:09
如果您使用的是'GetHubContext',則沒有調用者,因爲這意味着在Hub外部使用。 'Clients.All'應該解決當前連接到Hub的每個客戶端。 – halter73 2013-12-30 22:32:47