2014-01-10 37 views
1

我使用MVC 5,信號R 2.0.1和的WebAPI 2,並具有簡單的輪轂設置名爲ExportHub轂SignalR

public class ExportHub : Hub 
{ 
    public void Send(string name, string message) 
    { 
     // Call the addNewMessageToPage method to update clients. 
     Clients.All.addNewMessageToPage(name, message); 
    } 
} 

我試圖從調用此WebAPI可以更新UI。

var hubContext = GlobalHost.ConnectionManager.GetHubContext<ExportHub>(); 

但內hubContext我看不出有任何引用發送或addNewMessageToPage。我如何獲得訪問集線器內的方法?

回答

0

試着讓你的Send方法靜態的,然後調用hubContext.Send(string, string)

+3

如果您將其設置爲靜態,那麼您肯定無法訪問「客戶端」? – harriyott

2

您將無法調用指定的樞紐的任何方法。 GetHubContext只返回指定T Hub的IHubContext。您應該直接調用方法從您的web api方法直接調用客戶端,而不是調用Hub方法,如

Clients.All.addNewMessageToPage(name, message);