簡體   English   中英

IIS不允許放置一項特定服務

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM