我有一个类似下面的SignalR:
public class ConnectionHub : Hub
{
private static readonly ConcurrentDictionary<string, User> Users = new ConcurrentDictionary<string, User>();
public void GetAddressingResult()
{
//some implementation
}
}
我想直接在控制器方法中调用GetAddressingResult方法。
//In Home Controller
[HttpPost]
public void StartAddressing(string physicalAddress)
{
//I want to call GetAddressingResult method just here.
}
我现在可以这样做,比如在控制器上调用javacsript方法,javascript调用hub方法。但它看起来并不好。此外,我尝试在控制器操作和调用集线器方法中创建一个ConnectionHub实例,而不是像在&#34;&#34;
之外的#34; signalR集线器实例之类的错误。我使用的是SignalR 1.1.4版本。
我正在寻找最好的方法。
答案 0 :(得分:0)
您无法创建集线器实例 - 在调用集线器方法时会根据需要创建它们。有关如何从集线器外部调用集线器方法的信息,请参阅以下内容:
http://www.asp.net/signalr/overview/signalr-20/hubs-api/hubs-api-guide-server#callfromoutsidehub