2017-03-22 61 views
0

我正在本地運行Web API應用程序。當我把它部署到Windows Server 2012中,我可以得很好 - 但是當我嘗試和PUT我得到這個405如何在Web API應用程序上的IIS 8(Win Server 2012)上啓用PUT

我看過很多文章 - 但沒有人幫助。

所有我想要做的就是添加的東西,使PUT Web.Config中(在每個應用程序級)。爲什麼這麼難?

實例後: ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8

我加入到web配置什麼:

<system.web> 
<webServices> 
    <protocols> 
    <add name="HttpGet"/> 
    <add name="HttpPost"/> 
    </protocols> 
</webServices> 
</system.web> 


<system.webserver> 
<httpProtocol> 
    <customHeaders> 
    <add name="Access-Control-Allow-Origin" value="*" /> 
    <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE" /> 
    <add name="Access-Control-Allow-Headers" value="Content-Type" /> 
    </customHeaders> 
</httpProtocol> 
<modules runAllManagedModulesForAllRequests="false"> 
    <remove name="WebDAVModule" /> 
</modules> 

<validation validateIntegratedModeConfiguration="false" /> 
<handlers> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> 
    <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 
    <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> 
    <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" /> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> 
</handlers> 
</system.webserver> 

我仍然獲得了405

我該如何投入到工作中?謝謝。

回答

0

我終於得到它從整個服務器卸載WebDAV的工作。

0

無需卸載您已經刪除WebDAVModule但是你錯過了刪除處理的Webdev的處理部分這樣<handlers><remove name="WebDAV"/></handlers>

+0

其實,我忘了把它放在我上面的代碼 - 但這是在那裏,它仍然需要我卸載WebDAV來獲取網站的工作。 – niico

+0

試試這個它是爲我工作<模塊runAllManagedModulesForAllRequests = 「真」> <刪除名稱= 「WebDAVModule」/> <刪除名稱= 「ExtensionlessUrlHandler集成-4.0」/> <刪除名稱= 「OPTIONSVerbHandler」 /> <除去名稱= 「TRACEVerbHandler」/> <添加名稱= 「ExtensionlessUrlHandler集成-4.0」 路徑= 「*」。動詞= 「*」 類型= 「System.Web.Handlers.TransferRequestHandler」 前提= 「integratedMode,runtimeVersionv4.0」/> <除去名稱= 「WebDAV的」/> Suresh

相關問題