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();//允许客户端携带验证信息
});
});
本文介绍如何在ASP.NET Core应用中配置跨域访问,包括全局跨域设置和服务特定跨域设置。通过示例代码展示了如何使用services.AddCors()进行配置,并特别提到了SignalR服务的跨域设置。
869

被折叠的 条评论
为什么被折叠?



