.Net 解决 Web API 中的“服务器响应状态码为 405(方法不允许)”错误

目录

[方案 1 修改 Web.Config 文件](#方案 1 修改 Web.Config 文件)

[方案 2 恢复参数名称](#方案 2 恢复参数名称)

总结


如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

我在为一个新项目使用 Web API 时,突然遇到一个错误:"服务器响应状态码为 405(方法不允许) ",当时我正尝试通过 API 删除一条记录。我百思不得其解,最终找到了解决方案。现在我将分享这个解决方案,希望对您有所帮助。

如果您遇到此错误,可以尝试以下解决方案。

方案 1 修改 Web.Config 文件

这是您必须尝试的第一件事。请在 Web.Config 文件中添加以下标签。

validation validateIntegratedModeConfiguration= "false" />

<modules runAllManagedModulesForAllRequests= "true" >

<remove name= "WebDAVModule" />

</modules>

如果仍然出现错误,请尝试在 `<handlers>` 标签下添加一个标签,如下所示:

`<handlers>
<remove name="WebDAV" />
.....
</handlers>`

。如果以上方法无效,您可以尝试下一个解决方案。

方案 2恢复参数名称

众所周知,我们有一个名为 `WebApiConfig.cs` 的文件,用于设置 `MapHttpRoute` 和其他配置过滤器。默认情况下,此处的参数为"id",如下所示。

config.Routes.MapHttpRoute(

name: "DefaultApi",

routeTemplate: "api/{controller}/{id}",

defaults: new { id = RouteParameter.Optional }

);

如果您以任何方式更改了函数的参数,则需要将其恢复为" id ",或者需要在WebApiConfig.cs文件中进行更改。

例如,以下是我的删除函数。

// 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.SaveChanges();

}

catch (Exception)

{

throw;

}

}

}

如您所见,我已将参数更改为"subId"。因此,我一直收到"服务器响应状态码为 405(方法不允许) "的错误。然后,我按如下方式修改了我的函数。

// 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.SaveChanges();

}

catch (Exception)

{

throw;

}

}

}

更改参数名称后,一切正常。希望对您有所帮助。就这些了。我们完成了。祝您编码愉快。

总结

是否遗漏了您认为需要的内容?您尝试过 Web API 吗?您是否曾经想过实现这个需求?您觉得这篇文章有用吗?希望您喜欢这篇文章。请与我分享您宝贵的建议和反馈。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

相关推荐
雾时之林3 分钟前
Linux--软件管理、源码包安装
linux·服务器·数据库
Sylvia33.4 小时前
从轮询到推送:足球数据API架构演进与火星数据技术拆解
java·服务器·网络·python·websocket·架构
程序员老陆6 小时前
说一说FFmpeg6在Linux平台的编译
linux·运维·服务器·ffmpeg
玫幽倩6 小时前
2026黄河流域公安院校-电子物证单项赛(程序逆向分析+服务器取证)
运维·服务器·python·电子取证·逆向·程序分析·服务器取证
唐青枫8 小时前
别再手写 args[0]:C#.NET CommandLineParser 命令行工具实战详解
c#·.net
运维行者_8 小时前
企业带宽监控工具实战:网络流量分析与异常排查的5个关键能力
运维·服务器·开发语言·网络·分布式·后端·php
March.s8 小时前
Nginx 服务器反向代理实战指南
服务器·nginx·github
刚入门的大一新生9 小时前
Linux-Linux第一个系统程序-进度条
linux·运维·服务器
FlightYe9 小时前
linux系统编程(八):阻塞与非阻塞IO对比
android·linux·运维·服务器·github·vim
.Peter9 小时前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi