Это странный вариант.MVC3 Ресурс не найден - Страница по умолчанию
Веб-приложение, с которым я работаю в течение нескольких месяцев, работало абсолютно нормально до двух дней назад.
Основная структура, о которой идет речь, включает в себя ряд областей (основная проблема, относящаяся к области «Администратор»), контроллер/представление по умолчанию на самом высоком уровне проекта MVC и водопроводная система Castle.Windsor DI.
В самом начале страницы по умолчанию для раздела «Администратор» отображается сообщение «ресурс не найден». Это сообщение не зависит от доступа к этой странице через RedirectToAction (после входа в систему) или через стандартный возврат (...) через систему меню.
У кого-нибудь есть причины, по которым данный конкретный маршрут больше не действителен? Или что здесь происходит?
NB: - Другие маршруты по умолчанию по умолчанию правильно сохраняются - Я могу получить доступ ко всем другим страницам с помощью прямого URL-адреса в адресной строке. - маршрут по умолчанию для администратора (и 8 других я требую) появляются хорошо в таблице маршрутизации
Global.asax материала:
регистрацииprotected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterModelBinders();
RegisterRoutes(RouteTable.Routes);
ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(_container));
BoostrapContainer();
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "LogOn", id = UrlParameter.Optional }
);
}
админки:
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "AdminDashboard", action = "AdminDashboard", id = UrlParameter.Optional }
);
}
стоит отметить регистрацию администратора. Я попытался указать пространство имен явно с помощью:
новый { "xx.xx.xx.xx.Admin"}
Но не повезло.
Однако, пытаясь набрать localhost/Admin результаты все еще в ресурсе не найдены.
Привет, Джордж, я установил отладчик NuGet, который уже написал Фил. Несмотря на то, что он отлично работает для начальной страницы входа и отображает маршруты, по которым существует admin_default, как только я нахожу логин (или, альтернативно, с другой страницы), потому что ресурс не найден, информация отладки теряется? – M05Pr1mty
Вы не хотите использовать тот, который работает как «контроль», а вы хотите, чтобы он перехватил вызовы, разместив конфигурацию для него в вашем global.asax. Поскольку вы не можете попасть на страницу, тот, который работает как контроль, не поможет вам здесь. –
Нам также необходимо увидеть все ваши маршруты и URL-адреса, которые вы пытаетесь ударить. –