NetCore IIS 发布 WebApi 跨域访问的问题

1、解决跨域访问。

1.1创建的WebApi项目里,在StartUp类的ConfigureServices方法中添加如下代码:

 services.AddCors(option => option.AddPolicy("any", build =>
               build
               .AllowAnyHeader()
               .AllowAnyOrigin()
               .AllowAnyMethod()
               ));

1.2创建的WebApi项目里,在StartUp类的Configure方法中添加如下代码:

        //app.UseCors的位置,需要放在UseRouting()的后面,UseAuthorization()的前面。
            app.UseRouting();
            app.UseCors("any");//“any”与AddCors中AddPolicy的"any"一致
            app.UseAuthorization();

2、解决delete和put请求出错

在Visual Studio 发布的WebApi网站,前端访问的get、post请求正常,就是delete和put请求出错,可通过禁用 WebDAVModule模块解决。

在发布的网站根目录下,对web.config文件修改如下:

<system.webServer>
  <modules runAllManagedModulesForAllRequests="false">
    <remove name="WebDAVModule" />
  </modules>
</system.webServer>

 

你可能感兴趣的