除IIS5.1上的ASP.Net MVC2中的默认值外,Global.asax不映射到Controller Action

时间:2010-07-30 15:56:09

标签: visual-studio-2010 asp.net-mvc-2 iis-5

我是一个完整的新手,

我默认为HomeController-> Index 当我打, http:/ / localhost / SampleApplication

它转到索引但我在HomeController中有另一个动作“Process”。如果我点击了 http://localhost/SampleApplication/Home/Process返回未找到的资源。

我无法在Visual Studio执行/开发环境中或在IIS中部署。

我的Global.asax是,

public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }

我无法在VS2010本身中正确运行。当我执行它时,在端口1048启动一个开发服务器。所以我相信它更多地与我在global.asax中的理解或代码有关。

1 个答案:

答案 0 :(得分:0)

您已使用IIS5对此进行了标记,但IIS5不支持您开箱即用的好MVC网址。您将需要使用通配符扩展名,或者您需要更改您的网址以包含可以映射到ASP.NET的扩展名。见

ASP.NET MVC and IIS 5

Deploy ASP.NET MVC on IIS 5.1 (Windows XP)