.NET CORE .NET 5跨域已解决

首先创建一个Core的.NET5的项目(不做介绍)- [ ]

开始配置cors,首先找到项目内的Startup配置类

1.ConfigureServices 方法下新增
` #region 配置跨域处理

        services.AddCors(options =>
        {
            options.AddPolicy("any",
                 builder =>
                 {
                     builder.WithOrigins("https://localhost:44345/",
                                         "https://localhost:6001")
                     .AllowAnyHeader()
                     .AllowAnyMethod();
                     //.AllowCredentials();//不加,会有冲突   
                 });  
        });
        #endregion` 

2.Configure 方法写入
`
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, SqlDbContext sqlDbContext, ILoggerFactory loggerFactory)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "OASystemSynergy v1"));
}

        app.UseHttpsRedirection();


        app.UseRouting();

        //配置Cors,必须在MVC之前
        app.UseCors("any");

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
      
            endpoints.MapControllers()
            .RequireCors("any"); //配置Cors,这步也要
        });

        sqlDbContext.Database.EnsureCreated();
    }

`
3.最后控制器内加 [EnableCors("any")]

posted on 2022-02-24 14:52  独行者*  阅读(495)  评论(1)    收藏  举报

导航