【NetCore-技能点】如何配置跨域 2021年03月31日 netcore 跨域 ## 安装CORS程序包 > 一般默认都带了此程序包的 ``` Install-Package Microsoft.AspNetCore.Mvc.Cors ``` ## 配置代码 1、在 `Startup` 类, `ConfigureServices` 方法里,添加如下代码: ```csharp services.AddCors(option=> option.AddPolicy("cors", policy => policy.AllowAnyHeader() .AllowAnyMethod() .AllowCredentials() .AllowAnyOrigin())); ``` 最好不要设置允许任意Origin(`AllowAnyOrigin`),在新版CORS中间件中已经阻止  可使用 `WithOrigins` 来设置 Origin ```csharp policy.AllowAnyHeader() .AllowAnyMethod() .AllowCredentials() .WithOrigins(new []{"http://xxx.xxx.com"}); ``` 2、在 `Startup` 类, `Configure` 方法里,添加如下代码: ```csharp public void Configure(IApplicationBuilder app, IHostingEnvironment env) { .... app.UseCors("cors"); app.UseMvc(); } ``` 主要是 `app.UseCors("cors");` 这句代码, *需要注意的是必须放在 `UseMvc`之前,且策略名称必须是已经定义的。