john smith
john smith

Reputation: 157

Web API On IIS 10 (Handler "ExtensionlessUrlHandler-Integrated-4.0" has a bad module "ManagedPipelineHandler")

I built a basic RESTful web service so that I can receive events. I can run this fine on local IIS, but have the following error when publishing it in IIS 10 on a server

HTTP Error 500.21 - Internal Server Error Handler "ExtensionlessUrlHandler-Integrated-4.0" has a bad module "ManagedPipelineHandler"

I set the application pool Managed Pipeline Mode to Integrated and enabled Directory Browsing in the app features. My web config looks like this:

<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>

If I change the application pool Managed Pipeline Mode to "Classic" I can actually see the root site but trying to browse or call to the API gives 404s (such as xx.x.xxx.x/api/Controller/Action).

Upvotes: 7

Views: 17847

Answers (3)

heneryville
heneryville

Reputation: 2929

In Windows 10 I was able to resolve this via:

  1. Control Panel > Programs & Features > Turn Windows features on or off
  2. Removing .NET Framework 4.7 Advanced Services > ASP.NET 4.7
  3. Adding it back

Upvotes: 3

glens
glens

Reputation: 196

Using IIS 10 and .NET 4.6

  1. Add roles and Features
  2. Open up child nodes for WEB Server IIS
  3. Under Web Server, open nodes for Application Development
  4. Select ".NET Extensibility 4.6", "ASP.NET 4.6"

These resolves the problem.

Upvotes: 18

Micah Armantrout
Micah Armantrout

Reputation: 7001

for anyone else that runs into this I installed ASP.net 4.6 on Server 2016 in add remove roles and this resolved my issue.

Upvotes: 0

Related Questions