1. .Net Core允许跨域
ConfigureServices 设置跨域
services.AddCors(options =>
{
options.AddPolicy(DefaultCorsPolicyName, policy =>
{
policy
.WithOrigins(CorUrls)
//.SetIsOriginAllowed(str => true)//开启后允许所有请求
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();//允许客户端携带验证信息
});
}
CorUrls 数组,url不支持(*),另外https也需要单独设置url
SetIsOriginAllowed 开启后貌似允许所有请求
app开启跨域
app.UseRouting();
app.UseCors(DefaultCorsPolicyName);//注意要放在UseRouting和UseAuthentication
app.UseAuthentication();
2.signalR跨域
signalR需要单独设置跨域
app.UseEndpoints(endpoints =>
{
//报警提醒
endpoints.MapHub<DefaultHub>("/notify/default")
.RequireCors(configurePolicy =>
{
configurePolicy
.WithOrigins(_appConfig.CorUrls)
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();//允许客户端携带验证信息
});
});