Я развертывается мое приложение на сервере под управлением IIS6, используя метод, который invloves изменение маршрутов в:ASP.NET MVC развертывания Проблема
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
и добавление обработчика в IIS для .mvc расширений. Это работает отлично по большей части, пока я не добавлю атрибут [Авторизовать] в класс HomeController.
Это заканчивается в приложение пытается перенаправить пользователя на страницу входа в систему, которая является то, что я ожидаю, однако URL страницы входа отображается как http://server/virtualdir/Account/LogOn?ReturnUrl=%2fvirtualdir%2fDefault.aspx
Это вызывает проблему, так как не .mvc расширение не добавляется для элемента управления учетной записью URL-адреса.
Спасибо за информацию, я видел упоминание возможностью использования wilcard отображения, я буду смотреть на него в дальнейшем. – 2009-08-19 08:43:54