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

在编写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>

执行以上两步骤,问题解决!

posted @   暖风吹拂  阅读(324)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示