我正在努力实现以下目标: 1. 托管 SignalR 持久连接的服务器(现在是 WinForms) 2.ASP.NET MVC客户端
服务器在端口 8000 上运行,客户端在端口 22914 上运行(通过 Visual Studio)。 但是当我测试这个时,我收到以下错误:
XMLHttpRequest cannot load http://localhost:8000/echo/negotiate?_=1352825948654. Origin http://localhost:22914 is not allowed by Access-Control-Allow-Origin.
到目前为止一切顺利,我需要指定允许跨域通信。我认为这需要在服务器上完成。但在哪里以及如何呢? 我找不到解决方案,不幸的是,网上没有很多关于在 WinForms 应用程序中自托管 SignalR 连接的资源。
最佳答案
我自己最近也遇到了这个问题;答案是在客户端应用程序中指定服务器 URL 和端口,即以下场景:
服务器:http://localhost:8000/
客户端:http://localhost:22914/
客户端应用程序:
$.connection.hub.url = 'http://localhost:8000/signalr'
$.connection.hub.start();
关于c# - 自托管 SignalR 和访问控制允许来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365192/