Search code examples
asp.net-mvc-2iis-7.5asp.net-routing

ASP.NET MVC 2 Routing Errors


After publishing an ASP.NET MVC 2 web application to my schools IIS 7.5 server, I receive a 403 error on initial load and then a 404 error if I try and invoke a route such as /Home/About/Index

I have even tried publishing the default ASP.NET MVC 2 sample application, but with no luck. It appears that the Web Server isn't picking up any of the routes and that it is determining /Home/About/Index to be a directory look-up. Has anyone else experienced similar issues?

I spoke with the system admin and verified that HTTP Redirection and HTTP Errors are enabled. After poking around on, I have seen several comments about routing not working due to the publish location not being a webroot. Any comments on why?

Currently the system admin has the following website directory structure. Could this be the problem?

  • Default Web Sites
    • Fall2010
      • Class123
      • Class321
    • Spring2011

I have sought help from the system admin and my professor, however both are unfamiliar with MVC and routing. Any help is appreciated.

Of course, I can just give up on my idea and just use Web Forms and SOAP much like I have done in my other classes, but I would like to learn more about MVC in ASP.NET and REST. Thanks for the help!


Solution

  • So it looks like the system admin had the app pool to classic mode when it needs to be in integrated. In the default ASP.NET MVC 2 sample application I modified the Global.asax to:

    routes.MapRoute(
        "Default",
        "{controller}.aspx/{action}/{id}",
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
    

    And navigated to /Home.aspx/About, everything worked fine.

    Now I just need to convince our system admin to change to integrated.

    References: http://server.dzone.com/news/routes-iis-classic-and

    EDIT: I was able to get the system admin to switch to integrated. Everything appears to be working fine.