c#-子域上的SignalR协商404

我创建了一个小型的MVC SignalR应用程序,该应用程序在子域下的服务器上无法运行:
http://chat.mydomain.com,它映射到名为/ chat的文件夹.

我还使用SignalR Client制作了一个控制台程序,该程序可以很好地连接和正常工作,这很奇怪.

MVC应用程序的错误是来自http://chat.mydomain.com/chat/signalr/negotiate?clientProtocol=[…]的404.我可以了解为什么会发生这种情况,但不知道如何解决.在我生成的中心文件中,

signalR.hub = $.hubConnection("/chat/signalr", { useDefaultPath: false });

从技术上讲是正确的,但应阅读$.hubConnection(“ / signalr”,{useDefaultPath:false});.

关于如何改变这一点的任何想法?还是我应该只使用原始连接API.

另外,为什么它可以从控制台应用程序正常工作?

提前致谢.

解决方法:

您可以继续使用生成的中心文件.在启动SignalR连接之前,您只需要修改hubConnection的URL(存储在$.connection.hub.url中).

// This is initially set to "/chat/signalr" as specified in the hubs file
$.connection.hub.url = "/signalr";
$.connection.hub.start()...
上一篇:javascript-监视/调试SignalR数据


下一篇:C#-SignalR自托管Windows服务,侦听消息