[英]IIS Not allowing put for one specific service
我們已經在Windows服務器上完成了IIS 8.5的全新安裝。 在IIS上,我們已經部署了4或5個WCF服務。
其中一些服務具有PUT
請求(刪除將很快進行)。 但是我們遇到了一個問題。 在這些服務之一上, PUT
返回“方法不允許” 405錯誤。
現在,請注意,有關處理程序的所有服務的配置都是100%相同(我已經對此進行了幾次驗證)。
其他服務也使用PUT
請求,這些請求也可以正常工作。 當我向郵遞員發送HEAD
請求時,我只能看到該請求允許的GET
,該請求也應該以PUT
形式存在。
(例如,一個具有WebGet屬性,一個具有通過PUT配置的WebInvoke)都在同一URI上。 從Visual Studio進行本地調試時, PUT
請求可以正常工作,但是,部署后,我們無法使其在單個端點上正常工作。
我能看到的唯一區別是我們無法使用的PUT
請求消耗了JSON主體,另一個僅查看URI參數。
您可以這樣通過web.config 添加 ExtensionlessUrlHandler
:
<handlers accessPolicy="Read, Script">
<remove name="WebDAV" />
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"
path="*."
verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
modules="IsapiModule"
scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll"
preCondition="classicMode,runtimeVersionv4.0,bitness64"
responseBufferLimit="0" />
</handlers>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.