关于Core3.1跨域问题
描述
当前后端 ip 不同时进行请求发送就会存在跨域问题而无法发送请求,前端和后端都有解决方案,但使用 Vue 去解决跨域要进行代理配置是比较麻烦的,所以记录一下使用 .NET Core 3.1
进行跨域配置,不支持低于 3.1
以下的版本
方法
- 添加策略
打开项目的Startup.cs
文件,在ConfigureServices
这个方法添加以下代码// 添加跨域策略 services.AddCors(options => { options.AddPolicy("any", builder => { builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); }); });
这样就能注入cors中间件
any
表示策略名称;AllowAnyOrigin
表示允许任何域;AllowAnyMethod
表示允许任何方法;AllowAnyHeader
表示允许任何消息头。
- 在
Configure
方法中引用策略// 启用跨域策略 app.UseCors("any");
注意!引用策略必须写在 app.UseRouting 与 app.UseEndpoints 的中间才能生效
这样就解决了跨域问题