目录
方案 1 修改 Web.Config 文件
方案 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 吗?您是否曾经想过实现这个需求?您觉得这篇文章有用吗?希望您喜欢这篇文章。请与我分享您宝贵的建议和反馈。
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。
网硕互联帮助中心





评论前必须登录!
注册