Signalr 信号器2.0一个连接多页故障
我正在使用signalR开发一个应用程序,特别是2.0,其中signalR连接是在第一页创建的。连接在整个页面中使用,并且在集线器中有多个调用Signalr 信号器2.0一个连接多页故障,signalr,Signalr,我正在使用signalR开发一个应用程序,特别是2.0,其中signalR连接是在第一页创建的。连接在整个页面中使用,并且在集线器中有多个调用 [HubName("broadcastHub")] public class BroadcastHub : Hub { } class SignalRHubInterface { private static SignalRHubInterface self; public IHubContext context = GlobalHo
[HubName("broadcastHub")]
public class BroadcastHub : Hub
{
}
class SignalRHubInterface
{
private static SignalRHubInterface self;
public IHubContext context = GlobalHost.ConnectionManager.GetHubContext<BroadcastHub>();
public static SignalRHubInterface Instance
{
get
{
if (self == null)
{
self = new SignalRHubInterface();
}
return self;
}
}
public void BroadcastListA(List<string> listA)
{
context.Clients.All.listA(listA);
}
public void BroadcastListB(List<string> listB)
{
context.Clients.All.listB(listB);
}
public void BroadcastListC(List<string> listC)
{
context.Clients.All.listC(listC);
}
}
这些函数可以在第一页中调用,但不能在任何其他页中调用。试图在另一页中加载信号器函数会导致连接集线器出错
尝试在第二页上调用信号器函数时,找不到该函数。我相信这可能是因为后续页面上没有加载函数的问题
函数由以下人员在单独的类中调用:
SignalRHubInterface.Instance.BroadcastListA(listA);
我已经在这上面停留了一段时间,因此非常感谢您的帮助 在调用
$.connection.hub.start()
之前,需要在JavaScript中连接客户端方法
我还建议连接.done()
和.fail()
回调调用.start()
,以便验证SignalR客户端已成功建立连接
当您遇到问题时,在SingalR JS客户端中启用日志记录也很有用:
SignalRHubInterface.Instance.BroadcastListA(listA);