1. 程式人生 > WINDOWS開發 >.NetCore3.1中的WebApi如何配置跨域

.NetCore3.1中的WebApi如何配置跨域

寫法 一:

1. 開啟Startup.cs,定義靜態變數Any,用以配置跨域。

private readonly string Any = "Any";

2. 在ConfigureServices中新增以下程式碼:

services.AddCors(m => m.AddPolicy(Any,a => a.SetIsOriginAllowed(_ => true).AllowAnyMethod().AllowAnyHeader().AllowCredentials()));

3. 在Configure方法中新增一下程式碼:

app.UseCors(Any);

注意:

app.UseCors(Any) 必須在 app.UseRouting() app.UseEndpoints() 之間。如果存在 app.UseAuthentication()app.UseAuthorization() 則五者的順序應當為:

app.UseRouting()

app.UseCors(Any)

app.UseAuthentication()

app.UseAuthorization()

app.UseEndpoints()

寫法二(跟方法一差不多):

1. 不用在Startup.cs中定義變數,在ConfigureServices中新增以下程式碼:

services.AddCors(m => m.AddPolicy("Any"
,a => a.SetIsOriginAllowed(_ => true).AllowAnyMethod().AllowAnyHeader().AllowCredentials()));

2. 在Configure方法中新增一下程式碼:

app.UseCors();

3. 在Controller中加入屬性 [EnableCors("Any")]

技術分享圖片