SignalR在通知/协商请求上引发405错误

时间:2018-09-26 08:46:40

标签: .net-core signalr

我以这样的角度连接到服务器:

    this._hubConnection = new signalR.HubConnectionBuilder()
  .withUrl(location.protocol + '//localhost:5000/notify')
  .configureLogging(signalR.LogLevel.Information)
  .build();

代码或主机没有问题。该请求有效。

但是随后库再次调用:

http://localhost:5000/notify/negotiate

然后我得到这个错误:

  

HTTP错误405

客户端中的完整错误是:

Failed to load http://localhost:5000/notify/negotiate: Response to 
     

预检请求未通过访问控制检查:否   请求中存在“ Access-Control-Allow-Origin”标头   资源。因此,不允许原点“ http://localhost:4200”   访问。

除了上述要求外,我在网站上没有其他问题。

我已经在startup.cs中配置了它。

     app.UseCors(builder =>
              builder.WithOrigins("http://localhost:4200").AllowAnyMethod
 ().AllowAnyHeader().AllowAnyOrigin());

该代码适用于所有站点。

如果其余请求正常工作,为什么突然出现cors错误?

1 个答案:

答案 0 :(得分:1)

我建议您直接添加以下几行代码来直接配置Web应用程序的web.config文件(它在IIS上有效,对于IIS Express不确定):

text-align