当使用URL重写将请求路由至Web API时,经常会遇到这个问题。这是由于Web API没有正确地处理HTTP动词。
要解决这个问题,需要在Web API配置中添加一个模块来处理HTTP动词。这样,Web API就可以正确处理HTTP动词,从而避免405方法不允许的错误。
以下是一个示例,演示如何在Web API配置中添加一个HttpMethodOverride模块,以便正确处理HTTP动词。
在Web.config文件中添加以下代码:
然后,在Global.asax文件中将以下代码添加到Application_Start方法:
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
GlobalConfiguration.Configuration.MessageHandlers.Add(new HttpMethodOverrideHandler());
这将启用错误详细信息,以便在调试时更容易找到问题,并将HttpMethodOverrideHandler添加为MessageHandlers,以便进行HTTP动词处理。
完成后,保存并重新启动应用程序即可。这应该解决AngularJS/ c# WebAPI中405方法不允许的问题。