解決IIS不識別PUT和DELETE請求
restful API對資源的相應操作應該被體現(xiàn)成http動詞,增刪改查對應動詞應為post、delete、put、get。
按照思路寫出一個demo以后,運行,結(jié)果是這樣的:
好吧,被攔截了,怎么設置呢?網(wǎng)友們的回答五花八門——
有刪除webdav模塊的:
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
有說是因為權(quán)限不足造成的,有說是因為頁面form太多造成的,有說是因為…………
以上一眾網(wǎng)友不論對錯,對此處問題都是無效的。
其實關鍵信息就隱藏在大家都能看得到的地方:
這個鏈接看過以后,相信大家心里都有譜了:修改配置。
配置文件在這里:C:\Windows\System32\inetsrv\config\applicationhost.config
需要注意的是該文件無法直接打開,先轉(zhuǎn)跳至目錄內(nèi)在進行操作即可。
在這個文件內(nèi)找到handlers標記,該標記下有所有模塊的配置,修改對應模塊允許的謂詞即可,如:
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows \Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
我這里將PUT和DELETE加了進去,運行:
可以看到,delete已經(jīng)被支持,put也一樣,同理,如果還有什么謂詞想加進來,直接在對應模塊的配置內(nèi)添加即可。
如果還是不可以,請手動刪除IIS中的WebDav模塊,如下圖:
到此這篇關于解決IIS不識別PUT和DELETE請求的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持。
相關文章:
1. ApplicationHost.config(IIS存儲配置區(qū)文件)介紹2. Windows server 2003怎么安裝iis Win2003安裝IIS教程3. IIS7中Web.config的rewrite實例分析講解,教你看懂重寫規(guī)則4. IIS多個協(xié)議 顯示一個問號問題的修改方法5. Windows 2008 R2 IIS7.5配置FTP圖文教程6. IIS調(diào)用X-Forwarded-For Header (XFF)記錄訪客真實IP的兩種方法7. 將IIS Express改成可以通過ip地址訪問的設置方法8. Windows server 2003卸載和安裝IIS的圖文教程9. iis7.5中讓html與shtml一樣支持include功能(添加模塊映射)10. IIS中301重定向跳轉(zhuǎn)web.config規(guī)則和http重定向模塊的實現(xiàn)教程
