Asp.net Azure API-如何设置CORS

Asp.net Azure API-如何设置CORS,asp.net,.net,azure,asp.net-core,.net-core,Asp.net,.net,Azure,Asp.net Core,.net Core,我有RESTAPI,它托管在Azure中。若我在交互式控制台中使用GET方法('/api/pets')发出请求,那个么请求将顺利通过。但当我发出POST请求(POST'/api/pets')时,会出现CORS错误 交互控制台中的响应引发此错误: startup.cs public void配置服务(IServiceCollection服务) { . . . services.AddCors(options=>options.AddPolicy(“CorsPolicy”), 生成器=> { 建设

我有RESTAPI,它托管在Azure中。若我在交互式控制台中使用GET方法('/api/pets')发出请求,那个么请求将顺利通过。但当我发出POST请求(POST'/api/pets')时,会出现CORS错误

交互控制台中的响应引发此错误:

startup.cs

public void配置服务(IServiceCollection服务)
{
.
.
.
services.AddCors(options=>options.AddPolicy(“CorsPolicy”),
生成器=>
{
建设者
.AllowAnyOrigin()
.AllowAnyHeader()
.AllowAnyMethod();
}));
.
.
.
}
public void配置(IApplicationBuilder应用程序、IWebHostEnvironment环境)
{
附录UseCors(“公司政策”);
.
.
.
}
所有API的CORS政策


*
得到
邮递
放
删除
头
选择权
补丁
痕迹
*
*
我还尝试只在特定的API中在azure portal上设置CORS策略,但它不起作用 本地一切正常。

您可以使用门户网站试试吗

  • 在Azure门户的Azure API管理部分打开您的API
  • 选择所有操作或单个操作
  • 在右侧,选择入站处理>添加策略
  • 您将获得预制策略模板的列表。选择“CORS”一个并随意配置:
  • 更新:

    您可以按如下方式修改XML吗

     <cors>
         <allowed-origins>
            <origin>*</origin>
         </allowed-origins>
         <allowed-methods>
            <method>*</method>
          </allowed-methods>
             <allowed-headers>
          <header>*</header>
             </allowed-headers>
           <expose-headers>
               <header>*</header>
           </expose-headers>
      </cors>
    
    
    *
    *
    *
    *
    
    几年前,我尝试在API管理策略中加入一些规则,以将这些标题添加到响应中:

    
    ...
    ...
    @(context.Request.Headers.GetValueOrDefault(“Origin”、“”)
    真的
    ...
    
    我已经试过了,但不起作用。它设置了问题中所示的策略。更新的答案如上所述