SignalR 协商 URL 失败。

7
尝试启动 signalr。 但是服务器返回了 2 个错误:
  1. GET negotitate url 返回 500 内部服务器错误
  2. XMLHttpRequest 无法加载 http://localhost:10772//signalr/negotiate ... 所请求的资源上不存在 'Access-Control-Allow-Origin' 标头。因此,源 'http://localhost:3000' 不允许访问。响应的 HTTP 状态代码为 500。
提供了屏幕截图。
有什么想法吗? enter image description here]1
3个回答

2

好的,我已经找到了答案。这是一个拼写错误。 提到的中心名称不正确。

更改为:
var proxy = this.connection.createHubProxy('ChatAppHub');

在后端:
[HubName("ChatAppHub")]
public class ChatAppHub : Hub ...

在startup.cs内部
var hubConfiguration = new HubConfiguration(); hubConfiguration.EnableDetailedErrors = true; appBuilder.MapSignalR(hubConfiguration); appBuilder.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);


0

0
这个对我有帮助:
C# 的 Startup.cs 调整:
app.MapSignalR(new HubConfiguration{EnableJSONP = true});

JavaScript 调整:

connection.start({ jsonp: true })

无论如何,我们仍需要JSONP,所以对我们来说这是一个好的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接