本文主要是介绍关于Web API 2.0中的Options请求返回405的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于Web API 2.0中的Options请求返回405的问题
前提:IIS寄宿的网站
当你向服务器发送非简单请求时,客户端会先发送一条预检请求,借以确认当前请求源和待请求方法是否被网站允许。(关于这种Http请求的详细信息,请在道友的文章中学习)
道友的文章写的很好,其提供的解决方案是使用一个微软公司提供的官方DLL。为了不被DLL蒙在鼓里,本文提供了另外一种解决思路。
当客户端向服务器发送Options请求时,Web API 2.0默认会吃掉它并返回405以表示该操作不被支持。究竟是IIS管线中的哪个步骤吃掉了它,我没有研究明白。不过可以确定的是,问题出在Modulers里。在Web.config文件中,system.webServer下有个modules节点,如果将它的runAllManagedModulesForAllRequests属性设置为True,也可以解决options 405问题。这个属性默认是false,所以本文也不推荐这种方法。
Modules和Handler都是可以编程介入的,这个灵活性为我们提供了解决问题的渠道。具体步骤如下:
(1)在App_Code文件夹下新建一个.cs文件,
这篇关于关于Web API 2.0中的Options请求返回405的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!