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

本地运行Web API遇IIS 10.0 404.0错误,Post请求无响应求解

本地Web API POST请求404问题排查与解决

1. 确认请求路由匹配

  • 检查API控制器的路由配置:确保控制器上的[Route]属性和Action的[HttpPost]路由模板完全匹配。比如控制器标注[Route("api/[controller]")]、POST Action标注[HttpPost("add")]时,请求URL应为http://localhost:端口号/api/控制器名/add,避免路由段漏写或拼写错误。
  • 核对路由参数:如果Action包含路由参数(如[HttpPost("{id}")]),需确保请求URL中携带对应参数值,或给参数添加?标记为可选。

2. 校验请求方法与Content-Type

  • Postman中务必选择POST请求方法,避免误选GET等其他方法。
  • 发送JSON数据时,在Headers中设置Content-Type为application/json;发送表单数据则对应设置为application/x-www-form-urlencoded或multipart/form-data,需与API Action接收的参数类型匹配。

3. 检查IIS Express配置

  • 查看项目launchSettings.json:确认applicationUrl中的HTTP/HTTPS端口正确,无端口冲突情况。
  • 验证web.config的请求方法允许规则:确保<system.webServer>下的<handlers>配置包含POST方法,示例如下:
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

4. 确认参数绑定设置

  • 若Action接收复杂类型参数,需添加[FromBody](ASP.NET Core)或对应绑定属性(ASP.NET Framework),否则参数绑定失败会导致请求无法匹配Action,返回404。示例代码:
[HttpPost]
public IActionResult Submit([FromBody] OrderModel model)
{
    // 业务逻辑
}
  • 保证请求体JSON结构与模型类属性名称完全匹配(默认大小写敏感,可按需配置忽略大小写)。

5. 调试与日志分析

  • 启动调试模式,在POST Action首行添加断点,判断请求是否能进入:未进入则说明路由匹配失败;进入后无响应则排查是否存在死循环、异步操作未加await等问题。
  • 查看IIS Express日志:日志路径一般为%USERPROFILE%\Documents\IISExpress\Logs,日志中会记录请求的详细信息,可定位404的具体诱因。

6. 排查防火墙与代理干扰

  • 暂时关闭本地防火墙,测试请求是否恢复正常,排除端口拦截问题。
  • 若使用代理工具(如Charles、Fiddler),关闭代理后重试,避免代理篡改或拦截请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:31:21