WebDAV
安裝IIS的時候若是選擇了WebDAV(Web Distribution Authorization Versioning) Publish,則全部的Web Site默認會應用WebDAV Module和WebDAV Handler.
WebDAV Module和WebDAV Handler
WebDAV Handler的默認配置是處理以下 Method:PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK。(能夠參考%userprofile%/documents/iisexpress/config/applicationhost.config中的配置)所以PUT和DELETE請求會被Dispatch給WebDAV Handler來處理,可是咱們通常不會Enable WebDAV功能。所以Delete和Put請求會被拒絕。
解決辦法
既然根本緣由是WebDAV,最直接的解決辦法就是移除WebDAV(通常狀況下咱們不會用到該功能)。移除有以下幾種方法:
- 直接從系統中移除WebDAV Publish的整個功能(參考上面打開WebDAV Publish的截圖)
- 在Web Site的web.config中移除WebDAVModule和WebDAVHandler
<system.webServer>
<modules>
<remove name=「WebDAVModule」/>
</modules>
<handlers>
<remove name=「WebDAV」/>
</handlers>
</system.webServer>