参照:(7条消息) .net6使用最小api(8)— 开启跨域模式,通过扩展服务实现_hailang2ll的博客-CSDN博客
步骤:
一、在appsetting.json里添加配置文件
//配置文件如上: "Cors": { "EnableAllIPs": false, //是否应用所有的IP "PolicyName": "CorsIpAccess", //策略名称 "IPs": "http://127.0.0.1:2364,http://localhost:2364"//需要访问的域名 },
二、创建对应的配置类
public class CorsOptions { public bool EnableAllIPs { get; set; }//是否应用所有的IP public string PolicyName { get; set; }//策略名称 public string IPs { get; set; } }
三、在program.cs里做相应配置
var builder = WebApplication.CreateBuilder(args); //先将对应的配置绑定到对象里 CorsOptions corsOptions = new CorsOptions(); builder.Configuration.Bind("CorsOptions", corsOptions);
//配置跨域 builder.Services.AddCors(c => { if (!corsOptions.EnableAllIPs) { c.AddPolicy(corsOptions.PolicyName, policy => { policy .WithOrigins(corsOptions.IPs.Split(',')) .AllowAnyHeader()//Ensures that the policy allows any header. .AllowAnyMethod(); }); } else { //允许任意跨域请求 c.AddPolicy(corsOptions.PolicyName, policy => { policy .SetIsOriginAllowed((host) => true) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); } });
四、将配置的跨域策略添加到请求处理管道
var app = builder.Build(); // CORS跨域,这里的PolicyName对应就是配置文件里的策略名称
app.UseCors(corsOptions.PolicyName);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-10-10 AUTOFAC学习DEMO2-——ContainerBuilder注册三种方式、反射注册
2021-10-10 AutoFac学习Demo1——官网Demo
2021-10-10 C# 拓展方法( 二)——模拟拓展方法的场景