You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一IIS服务器上ASP.NET Core MVC与Web API Post请求失败问题

部署后ASP.NET Core MVC无法调用同服务器API的Post请求排查方案
  • 检查服务器请求限制配置

    • 若使用IIS部署,查看站点的「请求筛选」设置,确认POST方法未被禁用。
    • 检查API项目的Program.cs,确认是否配置了合理的请求大小限制,比如表单或JSON payload的长度限制,默认限制可能拦截大体积Post请求:
      builder.Services.Configure<FormOptions>(options =>
      {
          options.ValueLengthLimit = int.MaxValue;
          options.MultipartBodyLengthLimit = long.MaxValue;
      });
      
  • 验证MVC应用的Post请求构造

    • 确认服务器上的MVC应用发送Post请求时,Content-Type请求头与API接口的接收类型匹配(如application/json或application/x-www-form-urlencoded)。
    • 检查是否正确处理了防伪造令牌:ASP.NET Core MVC默认会验证Post请求的Anti-Forgery Token,需确保视图中包含@Html.AntiForgeryToken(),且请求通过Header(如RequestVerificationToken)或表单数据携带了该令牌。
  • 核对API端的路由与参数绑定

    • 确认API的Post接口路由未因部署路径、环境变量变化而失效,比如检查[Route]特性是否与MVC请求的地址匹配。
    • 检查API的Post方法参数是否正确使用[FromBody]、[FromForm]等绑定特性,确保参数来源与请求发送的格式一致。
  • 排查服务器安全拦截

    • 检查服务器上的防火墙、杀毒软件或安全防护工具,是否误将Post请求判定为恶意请求而拦截。
  • 启用日志定位问题

    • 在API和MVC项目中开启详细日志,记录请求状态、错误信息:
      builder.Logging.AddConsole();
      builder.Logging.SetMinimumLevel(LogLevel.Debug);
      
      根据日志中的状态码(如403、415、404)或异常信息,精准定位问题节点。

内容的提问来源于stack exchange,提问作者moshe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 04:56:02