日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS IISExpress REST DELETE 405 Method Not Allowed

發布時間:2024/8/26 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS IISExpress REST DELETE 405 Method Not Allowed 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【參考】.net IIS MVC Rest api 跨域 PUT DELETE 404 無法使用問題解決方案

?

今日在使用泛型處理常式處理檔案上傳時,使用了 HTTP 動詞的 PUT、DELETE 進行操作,卻發現當使用了 PUT、DELETE 時會發生「405 Method Not Allowed」錯誤,此錯誤的發生是由於使用了不正確的 HTTP 動詞而產生,也就是 Server 並不接受此 HTTP 動詞,為了讓 Server 能夠接受 PUT、DELETE 動詞,需要去調整 IIS 的處理常式對應,以下紀錄發生此問題的解決方法。

?

處理情形


問題情況

?

解決方法

當此問題發生時找到了 IIS Express FAQ,在 FAQ 裡提到需要去修改 IIS Express 的 config 檔案,路徑如下

C:\Users\User\Documents\IISExpress\config\applicationhost.config

?

在 config 檔案的 <handlers> ... </handlers> 標籤內的 ExtensionlessUrl-Integrated-4.0 屬性中的 verb="GET,HEAD,POST,DEBUG" 字段加入 PUT, DELETE 動詞,如下

<add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />

?

但依照 FAQ 的方法去增加動詞後進行測試,卻還是一樣出現 405 Method Not Allowed 錯誤。於是再仔細觀察 handlers 內後發現由於接收 HTTP PUT、DELETE 動詞的檔案為泛型處理常式,泛型處理常式的處理會交由 SimpleHandlerFactory 進行處理,所以在 handlers 內尋找 SimpleHandlerFactory 可以看到 SimpleHandlerFactory-Integrated 屬性配置,修改 SimpleHandlerFactory-Integrated 的 verb 加上 PUT、DELETE動詞,如下

<add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" />

?

修改後重新測試已可正常發送 PUT、DELETE 動詞,如下

?

另外如果要透過 IIS 去調整的話可以使用以下方法,進入 IIS 管理介面後點選處理常式對應

?

找到 SimpleHandlerFactory-Integrated-4.0 右鍵編輯,選擇要求限制

?

在指令動詞中加入 PUT, DELETE 即可

?

轉載于:https://www.cnblogs.com/xdot/p/9522402.html

總結

以上是生活随笔為你收集整理的VS IISExpress REST DELETE 405 Method Not Allowed的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。