17
votes

I need to update the handler mappings on IIS 7.5 to allow URLs that don't have extensions to be routed to an application. The application was originally written in ASP.NET 2.0, but then later upgraded to ASP.NET 3.5. I don't know if that has relevance, but I've had no problem updating handler mappings for other .net 3.5 apps before. I should also note that this works fine on IIS 6.0

This is the error message I get when I click the Handler Mappings link in IIS 7.5 (notice there isn't really an error message as such, which would be helpful):

Handler Mappings

There was an error while performing this operation.

Details:

Filename: \?\D:\path\to\web.config

Error:


OK

Has anyone seen this before? If you need more info, let me know and I'll supply. Thanks.

3

3 Answers

32
votes

I was having the same issue, it turns out the project used the IIS URL rewrite module (not installed by default). After I installed this, the site worked first time.

Check your web.config file (especially if it doesn't open in IIS) for any non default IIS modules.

4
votes

There's a difference in how IIS 7.0 (and higher) reads handler mappings from your Web.config file and how IIS 6 does this. It depends on the 'Managed Pipeline Mode' of your application pool. If you set it to integrated, your handler mappings are expected to be in

/system.webServer/handlers

If you use classic pipeline mode, your handlers should be in

/system.web/httpHandlers

You can find some more info here. It's probably the best idea to check what pipeline mode you're using and then check the config file manually (all the IIS management console does is edit the web.config file of you web application, so you can check what's happening behind the scenes).

2
votes

If you are using IIS7.0 / IIS7.5 : -

Goto IIS Manager by
(Start-->Run-->type 'Inetmgr' Or Right click on MyComputer, Select 'Manage' option, Expand 'Services And Applications, select 'Internet Information Manager')

Right click on the application's virtual directory, choose 'Convert To Application' option.
This will solve the issue.