views:

374

answers:

3

As a dev team, we're looking to switch to asp.net MVC and I've heard rumors about IIS 6 not being able to support all of the MVC functionality. Is this true? Is there any official set of functionality supported in IIS 7 vs IIS 6? Should we completely avoid running it on IIS6?

+5  A: 

I think the issue with IIS6 is extensionless URLs that you can easily achieve by adding a wildcard ISAPI map in IIS configuration.

So, no. While I love IIS7 integrated mode and strongly recommend using it, you won't lose functionality using it. I've deployed several ASP.NET MVC 1.0 projects on Windows Server 2003/IIS6.

Mehrdad Afshari
We use IIS6 for our production site and this is the only real side-effect we have noticed.
Sailing Judo
So, no loss in functionality? Just more initial configuration involved?
Allen
This is the only thing I've ever seen and heard in this regard and considering what I know about ASP.NET and IIS in general, this is the only logical one.
Mehrdad Afshari
+9  A: 

You do not loose any functionality of ASP.Net MVC; however, you have one of two options. You can either define an extension on your URL's which will allow you to set up mapping. So for example:

www.example.com/books/computer/list

might become:

www.example.com/books.mvc/computer/list

You can use any extension you want so long as you map to ASP.Net. I am currently using .aspx which meant I could avoid changing IIS configuration at the sacrifice of having extensionless URLs.

The other option as mentioned is using a wild card mapping. What this does is route all requests to ASP.Net. Even requests for static content such as images. This does have a negative effect on performance that you will want to measure. There are ways around this, I believe such as placing all your content in a specific virtual directory that you turn off the wild card mapping for, but I haven't fully explored that option.

JoshBerke
Great answer and explanation, thanks alot Josh!
Allen
My pleasure good luck
JoshBerke
I think IIS7 Integrated mode can also have this performance issue as it routes everything to ASP.NET. It's not IIS6 specific.
Mehrdad Afshari
I'd hope they'd have optimized the pipeline for that but couldnt say. time to hit google
JoshBerke
+1  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