views:

2115

answers:

5

I have created a basic site using ASP.NET routing according to Mike Ormond's example "Using ASP.NET routing Independent of MVC". This works fine on my local machine running the built-in web server.

However, when I deploy it to my server (Windows Server 2003, IIS 6, ASP.NET 3.5 SP1) it just shows a 404 error.

I have read somewhere that I am meant to set up wildcard routing. How can I do this?

What other configuration changes needs to be done to make it work on my server?

+8  A: 

You will find some good information on Steve Sanderson’s blog post "Deploying ASP.NET MVC to IIS 6."

John Nolan
+3  A: 

You can find the "official" discussion of wildcard mappings on TechNet here but I like Phil Haack's walkthrough that you can find here. Don't worry about the fact that it's a discussion of setting up ASP.NET MVC, just look for the section titled "IIS6 Extension-less URLs" - that set up applies to both MVC and using routing with a classic web form application.

hilkiah
+3  A: 

On the server, open IIS:

  1. Right-click on the site/virtual directory, select properties
  2. Goto the Home Directory/Virtual Directory tab, click Configuration (near the bottom)
  3. Near the bottom again, click the insert button
  4. Enter C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
  5. Uncheck the "Verify that file exists" button, click Okay and close all the dialogues
Chris Pebble
For info, a user has reported (now deleted) that the "insert" button is missing in his case. That isn't your fault, of course!
Marc Gravell
A: 

Under IIS 6 64 bit, make sure that the path under 4.) points to C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll

kamiwa
A: 

Url rewriting can help you to solve the problem. I've implemented solution allowing to deploy MVC application at any IIS version even when virtual hosting is used. http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

Alex Ilyin