Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 多个网站服务器端客户端.All.receiveNotification质询与信号器_C#_Asp.net_Asp.net Mvc_Signalr - Fatal编程技术网

C# 多个网站服务器端客户端.All.receiveNotification质询与信号器

C# 多个网站服务器端客户端.All.receiveNotification质询与信号器,c#,asp.net,asp.net-mvc,signalr,C#,Asp.net,Asp.net Mvc,Signalr,因此,我有两个使用SignalR的网站,我的Global.asax文件中都有以下内容: HubConfiguration hubConfig = new HubConfiguration(); hubConfig.EnableCrossDomain = true; RouteTable.Routes.MapHubs(hubConfig); 我有一个服务器端事件端,并且我获得了向所有侦听客户端发送消息的中心上下文: var signalrContext = GlobalHost.Connect

因此,我有两个使用SignalR的网站,我的Global.asax文件中都有以下内容:

HubConfiguration hubConfig = new HubConfiguration();
hubConfig.EnableCrossDomain = true;
RouteTable.Routes.MapHubs(hubConfig);
我有一个服务器端事件端,并且我获得了向所有侦听客户端发送消息的中心上下文:

 var signalrContext = GlobalHost.ConnectionManager.GetHubContext<Notifications.OfferHub>();
signalrContext.Clients.All.receiveNotification("hello world");
var signalrContext=GlobalHost.ConnectionManager.GetHubContext(); signalrContext.Clients.All.receiveNotification(“hello world”); 同样的事件发生在两个网站的服务器端,我想向所有监听客户端广播这个跨域事件。我认为这是不可能的服务器端,因为我将无法获得两个网站的HubContext更改hub.url服务器端


除非有人有其他建议?

好吧,我花了一分钟才意识到我在这里做了什么。感谢大卫·福勒的帮助和出色的信号员!最后,我将每个网站中的ServiceReference添加到另一个网站中的web服务,并调用“广播”WebMethod。web服务webmethod仅获取当前的SignalR上下文,并将我的消息广播给在各自网站上侦听的所有客户端。

仅仅因为两个项目中都存在该类,并不意味着您的客户端连接到了正确的应用程序。查看此示例感谢dfowler基于您与我共享的示例,如果我正在进行客户端调用,并且可以将集线器的url设置为远程服务器,那么我的情况就不难解决。一种方法是检测哪个网站是客户端调用方,并将url设置为另一个网站。但我有服务器端事件和服务器端数据,我想在所有跨域侦听客户端上传输这些事件和数据……您拥有的根本不是跨域的。我不知道你在期待什么。不能仅仅因为有dll引用,就指望集线器向另一台服务器上的客户端广播。需要有到服务器的活动连接。。。