Я несколько раз настраивал сайт ASP.NET MVC 2 в нашей тестовой системе на IIS 6. У меня все в порядке с использованием расширения .aspx на контроллерах. Файл Global.asax.cs выглядит следующим образом:
public static void RegisterRoutes (маршруты RouteCollection)
{
routes.IgnoreRoute("{resource}.html/{*pathInfo}");
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional }
);
routes.MapRoute(
"Root",
"",
new { controller = "Account", action = "LogOn", id = "" }
);
}
Кроме этого, развертывание довольно простое. Я скопировал файлы на сервер, создал новый виртуальный каталог в IIS, установил Account.aspx в качестве документа по умолчанию и нажал кнопку ОК.
Повторение этих же шагов для производства не работает. Похоже, что IIS 6 / ASP.NET не хочет правильно маршрутизировать (даже подумал, что на нашем тестовом сервере все прошло нормально).
Мой URL выглядит так:
http://_server_name:90/<<em>IS ИМЯ ЗАЯВКИ / Аккаунт
Загрузка сайта с базовым IIS «сайт не найден». URL был изменен, чтобы выглядеть так:
http://_server_name>:90/IIS ИМЯ ПРИЛОЖЕНИЯ / CustomErrorView? Aspxerrorpath = / _ APPLICATION_NAME_ / Account.aspx / Вход в систему
(подчеркивания начинаются и заканчиваются значениями местозаполнителей, а не буквально в URL).
CustomErrorView - это представление, которое я создал для пользовательских ошибок для пересылки (включая 404).
Оба сервера работают под управлением Windows 2003.
Есть мысли?