.Net解决WebAPI中“服务器响应状态码为405(方法不允许)”错误的两种解决方案
针对WebAPI的405(方法不允许)错误,可通过修改Web.Config文件禁用WebDAV模块,或恢复控制器方法参数名为默认的“id”以匹配路由模板,两种方案均能有效解决问题,确保请求正确路由。
前两天在一个新项目里调用 Web API 时,突然弹了个 405 错误——服务器响应状态码为“方法不允许”。当时正打算通过 API 删除一条记录,明明代码逻辑没问题,却怎么也删不掉。折腾了一圈之后,总算找到了两个靠谱的解决办法。这里整理出来,希望能帮你少走弯路。
遇到 405 错误,不妨先试试下面这两种方案,通常能搞定。
方案 1:修改 Web.Config 文件
这是最直接的第一步。在 Web.Config 文件里加上下面这段配置:
validation validateIntegratedModeConfiguration= "false" />
如果还没解决,再在 标签里补一个移除项:
.....
要是改完配置还是不行,可以试试下一个方案。
方案 2:恢复参数名称
Web API 的路由配置通常放在 WebApiConfig.cs 里,默认的参数名是 id,就像这样:

config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
如果你在控制器里把参数名改成了别的,比如 subId,那路由就匹配不上了,405 错误就会冒出来。举个例子,当时我的删除函数长这样:
// DELETE: api/Subscriber/5
public void Delete(int subId)
{
tbl_Subscribers dlt = myEntity.tbl_Subscribers.Find(subId);
if (dlt != null)
{
try
{
myEntity.tbl_Subscribers.Remove(dlt);
myEntity.Sa veChanges();
}
catch (Exception)
{
throw;
}
}
}
把参数名改回 id 之后,问题立刻解决了:
// DELETE: api/Subscriber/5
public void Delete(int id)
{
tbl_Subscribers dlt = myEntity.tbl_Subscribers.Find(id);
if (dlt != null)
{
try
{
myEntity.tbl_Subscribers.Remove(dlt);
myEntity.Sa veChanges();
}
catch (Exception)
{
throw;
}
}
}
改完参数名,一切恢复正常。如果不想改参数名,也可以在 WebApiConfig.cs 里调整路由模板,把参数名对应上,但最省事的办法还是保持默认的 id。
总结
405 错误在 Web API 开发中不算少见,原因通常就两个:要么是 IIS 或配置里 WebDA V 模块在捣乱,要么是路由参数名不匹配。上面的两种方案基本能覆盖大多数情况。如果你在项目里也踩过这个坑,不妨对照着排查一下,大概率能解决。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
Photoshop 2026 是 Adobe 推出的专业图像处理与视觉设计软件,支持 Windows、macOS 和 iPad 等平台,广泛应用于摄影修图、电商设计、平面海报、数字绘画及视觉合成等创作场景。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。















