信号器协商 url 失败
Signalr negotiate url fails
正在尝试启动信号器 运行。
我不断从服务器返回 2 个错误:
- GET 协商 url returns 500 内部服务器错误
- XMLHttpRequest 无法加载 http://localhost:10772//signalr/negotiate ...
请求的资源上不存在 'Access-Control-Allow-Origin' header。因此不允许访问来源“http://localhost:3000”。响应的 HTTP 状态代码为 500。
已提供屏幕截图。
有什么想法吗?
]1
好的,我自己发现的。拼写错误。
提到的集线器名称不正确。
已更改:
var proxy = this.connection.createHubProxy('chattAppHub');
至:
var proxy = this.connection.createHubProxy('ChatAppHub');
在后端:
[中心名称("ChatAppHub")]
public class ChatAppHub:中心...
里面startup.cs
var hubConfiguration = new HubConfiguration();
hubConfiguration.EnableDetailedErrors = true;
appBuilder.MapSignalR(hubConfiguration);
appBuilder.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
这为我修复了它:
C# Startup.cs 调整:
app.MapSignalR(new HubConfiguration{EnableJSONP = true});
JavaScript 调整:
connection.start({ jsonp: true })
无论如何我们都需要 JSONP,所以对我们来说这是一个很好的解决方案。
我遇到了同样的问题,都是关于 CORS 的。
您应该在 Sturtup.cs 的 CORS 配置中添加主机 URL,请查看:
正在尝试启动信号器 运行。 我不断从服务器返回 2 个错误:
- GET 协商 url returns 500 内部服务器错误
- XMLHttpRequest 无法加载 http://localhost:10772//signalr/negotiate ... 请求的资源上不存在 'Access-Control-Allow-Origin' header。因此不允许访问来源“http://localhost:3000”。响应的 HTTP 状态代码为 500。
已提供屏幕截图。
有什么想法吗?
好的,我自己发现的。拼写错误。 提到的集线器名称不正确。
已更改:
var proxy = this.connection.createHubProxy('chattAppHub');
至:
var proxy = this.connection.createHubProxy('ChatAppHub');
在后端:
[中心名称("ChatAppHub")]
public class ChatAppHub:中心...
里面startup.cs
var hubConfiguration = new HubConfiguration();
hubConfiguration.EnableDetailedErrors = true;
appBuilder.MapSignalR(hubConfiguration);
appBuilder.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
这为我修复了它:
C# Startup.cs 调整:
app.MapSignalR(new HubConfiguration{EnableJSONP = true});
JavaScript 调整:
connection.start({ jsonp: true })
无论如何我们都需要 JSONP,所以对我们来说这是一个很好的解决方案。
我遇到了同样的问题,都是关于 CORS 的。 您应该在 Sturtup.cs 的 CORS 配置中添加主机 URL,请查看: