.net core 信号器在通知/协商请求时抛出405错误
我通过以下方式连接到服务器:.net core 信号器在通知/协商请求时抛出405错误,.net-core,signalr,.net Core,Signalr,我通过以下方式连接到服务器: this._hubConnection = new signalR.HubConnectionBuilder() .withUrl(location.protocol + '//localhost:5000/notify') .configureLogging(signalR.LogLevel.Information) .build(); 代码或主机没有问题。这个请求有效 但是图书馆又打了一个额外的电话: http://localhost:50
this._hubConnection = new signalR.HubConnectionBuilder()
.withUrl(location.protocol + '//localhost:5000/notify')
.configureLogging(signalR.LogLevel.Information)
.build();
代码或主机没有问题。这个请求有效
但是图书馆又打了一个额外的电话:
http://localhost:5000/notify/negotiate
然后我得到这个错误:
HTTP错误405
客户端中的完整错误为:
飞行前请求未通过访问控制检查:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。因此,不允许使用源“”
进入
除上述请求外,我在该站点中没有cors问题
我在startup.cs中配置了这个
app.UseCors(builder =>
builder.WithOrigins("http://localhost:4200").AllowAnyMethod
().AllowAnyHeader().AllowAnyOrigin());
该代码适用于所有站点
如果其余请求正常,为什么会出现突然的cors错误?我建议您直接配置web应用程序的web.config文件,并添加以下代码行(它在IIS上工作,不一定适用于IIS Express):
在UseCors
调用中,您有WithOrigins(…)
和AllowAnyOrigin()
。删除AllowAnyOrigin()
调用,看看是否有效?我在.net中找不到这个core@JohanVanWambeke我提供的解决方案仅适用于.NET标准,不适用于.NET核心
app.UseCors(builder =>
builder.WithOrigins("http://localhost:4200").AllowAnyMethod
().AllowAnyHeader().AllowAnyOrigin());
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="http://localhost:4200" />
<add name="Access-Control-Allow-Methods" value="GET,POST,OPTIONS,PUT,DELETE,PATCH" />
<add name="Access-Control-Allow-Headers" value="Content-Type, X-Requested-With" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
</system.webServer>