c# - 自托管 SignalR 和访问控制允许来源

标签 c# winforms signalr

我正在努力实现以下目标: 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();

记录在 SignalR Client Hubs Wiki on Github 的底部

关于c# - 自托管 SignalR 和访问控制允许来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13365192/

相关文章:

C#、Windows 服务和 Microsoft.Bcl.Async

c# - 使用正确的编码读取固定的字符数组

c# - TSQL OrderBy 与 LINQ OrderBy Madness for UniqueIdentifier

c# - 处理自动缩放的正确方法

c# - 如果已经打开则关闭子窗体

.net - 不可见的标签页(标签控件)上的控件返回 Visible = false

ios - SIgnalR iOS 客户端为 connectionId 和协议(protocol)版本返回 null

c# - BookSleeve - 设置哈希时性能不佳

asp.net-mvc - SignalR 和 MVC 包

asp.net-core - connection.close 不是 SignalR 函数