Global.asax не сопоставляется с действием контроллера, кроме по умолчанию в ASP.Net MVC2 на IIS5.1 - PullRequest
0 голосов
/ 30 июля 2010

Я полный новичок,

У меня по умолчанию стоит HomeController-> Index Когда я ударил, http: // localhost / SampleApplication

Идет в индекс, но у меня есть другое действие «Процесс» в HomeController. Если я нажму 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 голосов
/ 30 июля 2010

Вы отметили это с IIS5, но IIS5 не поддерживает ваши красивые URL-адреса MVC из коробки.Вам нужно будет использовать расширение с подстановочными знаками или изменить URL-адреса, чтобы они содержали расширение, которое можно сопоставить с ASP.NET.См.

ASP.NET MVC и IIS 5

Развертывание ASP.NET MVC на IIS 5.1 (Windows XP)

...