原文: asp.net (webapi) core 2.1 跨域配置 官方文檔 ️ https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-2.1
1. NuGet: Microsoft.AspNetCore.Cors
2.
//Startup.ConfigureServices(IServiceCollection services)
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder =>
{
builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader();
});
});
3.
//Startup.Configure(IApplicationBuilder app, IHostingEnvironment env)
//這行代碼必須要在“app.UseMvc”等前面
app.UseCors("AllowSpecificOrigin");
這個方法允許該網站被http://0.0.0.0:3201跨域調用,設定這個的時候注意不要加最後一個斜杆
而我并不喜歡寫死這麼一個字元串,剛開始想過通配符的方式,是以看了下這些相關類裡面的方法,還真的找到了個符合參數的方法,他要我傳入一個委托,并且傳回是bool,感覺很接近,嘗試了一下還真行
//Startup.ConfigureServices(IServiceCollection services)
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder =>
{
//builder.WithOrigins("http://0.0.0.0:3201").AllowAnyHeader();
builder.SetIsOriginAllowed((string arg) => {
System.Console.WriteLine(arg);
return true;
});
});
});

看圖檔,到這裡大家自己擴充自己的方法啦,可以用正則去支援你的通配符,也可以自由的寫邏輯了
上面的方法已經滿足了我的需求了,這個庫還有好多其他的東西
這篇文章是asp.net core 2.1的,如需要支援其他版本的可以自己查閱官方文檔哈