我创建了一个小型 MVC SignalR 应用程序,但在子域下的服务器上运行时遇到问题:http://chat.mydomain.com http://chat.mydomain.com,它映射到名为 /chat 的文件夹。
我还使用 SignalR Client 制作了一个控制台程序,它连接并工作完美,奇怪的是。
MVC 应用程序的错误是 404http://chat.mydomain.com/chat/signalr/negotiate?clientProtocol=[...] http://chat.mydomain.com/chat/signalr/negotiate?clientProtocol=%5B...%5D。我知道为什么会发生这种情况,但不知道如何解决。在我生成的 hubs 文件中,该行
signalR.hub = $.hubConnection("/chat/signalr", { useDefaultPath: false });
技术上是正确的,但应该阅读$.hubConnection("/signalr", { useDefaultPath: false });
关于如何改变这个有什么想法吗?或者我应该只使用原始连接 API。
另外为什么它可以在控制台应用程序中正常工作?
提前致谢。
您可以继续使用生成的 hubs 文件。您只需要修改 hubConnection 的 url(存储在$.connection.hub.url
) 在开始 SignalR 连接之前。
// This is initially set to "/chat/signalr" as specified in the hubs file
$.connection.hub.url = "/signalr";
$.connection.hub.start()...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)