views:

463

answers:

3

I've a ASP.NET MVC 2 project that runs fine under Windows 7 and will start on Windows XP if I use the Visual Studio Development Server, however, starting under IIS generates an error:

Unable to start debugging on the web server

With the message

 The specified procedure could not be found

No errors in the system event viewer.

If I start without debugging I get an "HTTP 500 Internal Server Error"

The reason I run it under IIS is the project also includes some WCF wsHttp web services that use certificates, so the VS Development Server is not adequate for hosting those.

I have already seen the links on SO that talk about adding the wildcard mapping. I've already done that, just as I've done on Windows Server 2003 where I successfully host ASP.NET MVC RC2 for quite a while.

+4  A: 

Check out this blog it might help. IIS 6 and under does not easily support MVC Routing. http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

John Hartsock
+5  A: 

See if this helps - its possible but not ideal:

http://blogs.microsoft.co.il/blogs/dorony/archive/2007/12/15/using-asp-net-mvc-on-iis-5.aspx

Michael Shimmins
Like all these blogs mention, I use the wildcard mapping now on IIS 6. But this isn't the issue. The site won't even startup under IIS, period. Just an HTTP 500 error. I even tried a new empty MVC2 project, and it runs under the dev server, but not IIS.
mrjoltcola
I had seen and done this on several environments, but for some reason I fatfingered and chose aspnet_filter.dll instead of aspnet_isapi.dll on this box. That was the cause, thanks.
mrjoltcola
A: 

The error said "procedure could not be found" so I double checked the ISAPI dll.

Turns out when I added the wildcard mapping to ISAPI, I picked aspnet_filter.dll instead of aspnet_isapi.dll. Once I switched it, the app starts up fine and serves pages fine.

mrjoltcola