我构建了一个基本的RESTful Web服务,以便我可以接收事件。我可以在本地IIS上运行这个,但在服务器上的IIS 10中发布时会出现以下错误
HTTP错误500.21 - 内部服务器错误 处理程序“ExtensionlessUrlHandler-Integrated-4.0”有一个错误的模块“ManagedPipelineHandler”
我在应用程序功能中将应用程序池托管管道模式设置为集成并启用了目录浏览。我的网络配置如下所示:
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
如果我将应用程序池托管管道模式更改为“经典”,我实际上可以看到根站点,但尝试浏览或调用API会产生404s(例如xx.x.xxx.x / api / Controller / Action )。
答案 0 :(得分:5)
使用IIS 10和.NET 4.6
这些解决了这个问题。
答案 1 :(得分:0)
对于遇到此问题的其他任何人,我在Server 2016上安装了ASP.net 4.6,添加删除角色,这解决了我的问题。
答案 2 :(得分:0)
在Windows 10中,我可以通过以下方式解决此问题: