.NET Core 3.1 解决跨域请求问题CORS

文章目录[隐藏]

描述

当前后端 ip 不同时进行请求发送就会存在跨域问题而无法发送请求,前端和后端都有解决方案,但使用 Vue 去解决跨域要进行代理配置是比较麻烦的,所以记录一下使用 .NET Core 3.1 进行跨域配置,不支持低于 3.1 以下的版本

方法

  1. 添加策略
    打开项目的 Startup.cs 文件,在 ConfigureServices 这个方法添加以下代码

    // 添加跨域策略
    services.AddCors(options => {
    options.AddPolicy("any", builder => { builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); });
    });

这样就能注入cors中间件

  • any 表示策略名称;
  • AllowAnyOrigin 表示允许任何域;
  • AllowAnyMethod 表示允许任何方法;
  • AllowAnyHeader 表示允许任何消息头。
  1. Configure 方法中引用策略
    // 启用跨域策略
    app.UseCors("any");

    注意!引用策略必须写在 app.UseRouting 与 app.UseEndpoints 的中间才能生效

这样就解决了跨域问题