2017-03-22 76 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

相关问题