【发布时间】:2020-04-09 18:37:55
【问题描述】:
我遵循了来自
的确切教程然后我想从另一个 Origin 访问集线器。所以我遵循了
中的确切说明https://docs.microsoft.com/en-us/aspnet/core/signalr/security?view=aspnetcore-3.1
但我收到此错误:
Access to XMLHttpRequest at 'http://localhost:55039/myhub/negotiate?negotiateVersion=1' from origin 'http://localhost:54114' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
代码如下:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
services.AddSignalR(o =>
{
o.EnableDetailedErrors = true;
o.HandshakeTimeout = TimeSpan.FromSeconds(5);
});
}
和:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseCors(builder =>
{
builder.WithOrigins("http://localhost:54114/")
.AllowAnyHeader()
.WithMethods("GET", "POST")
.AllowCredentials();
});
app.UseStaticFiles();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapHub<MyHub>("/myhub");
});
}
asp.net 核心 3.1
AspNetCore.SignalR
任何提示和指南都将得到应用
【问题讨论】:
标签: c# asp.net-core .net-core signalr asp.net-core-signalr