【发布时间】:2013-06-13 22:20:33
【问题描述】:
我的站点上安装并运行了 WebDAV,作为一个虚拟子站点,我有一个 MVC WebAPI 站点,该 API 运行良好,直到我尝试向它发送 PUT 请求,然后我收到以下错误:
HTTP 错误 500.21 - 内部服务器错误
处理程序“ExtensionlessUrlHandler-Integrated-4.0”的模块列表中有一个错误模块“ManagedPipelineHandler”
如果我禁用 WebDAV,那么一切正常,并且不会出现错误。这仅在启用 WebDAV 时发生。
我的 web.config 中有以下所有代码:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
<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,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
我尝试过处理各种应用程序池。
我也厌倦了所有这些问题中提到的所有内容:
这些都没有解决我的问题,还有什么我没有尝试过的吗?
【问题讨论】:
-
在您的配置中,如果您不删除 WebDav 处理程序,而是在 ExtensionlessUrlHandler 之后添加它,是否会导致同样的问题?
标签: asp.net-web-api iis-7.5 webdav