Я написал веб-приложение с ASP.NET MVC. Заводская фабрика контроллеров была заменена контроллером Castle Windsor.
ControllerBuilder.Current.SetControllerFactory (новый WindsorControllerFactory ());
Проблема в том, что я использую общий хостинг, на котором работает II6, поэтому, чтобы заставить MVC работать, мне пришлось заменить MapRoute по умолчанию на
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
[ПРИМЕЧАНИЕ: {controller} .aspx]
Когда я загружаю недавно созданное «веб-приложение ASP.NET MVC» с этим измененным MapRoute, оно работает нормально ... но когда я загружаю свое веб-приложение MVC (которое использует Castle Windsor), в моем браузере появляется следующая ошибка:
URL [http://10.0.0.9/LoseOnlyToday/Home.aspx]
Ошибка сервера в приложении '/ LoseOnlyToday'. IControllerFactory 'WebUI.WindsorControllerFactory' не вернул контроллер для контроллера с именем 'Home.aspx'. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.
Сведения об исключении: System.InvalidOperationException: IControllerFactory «WebUI.WindsorControllerFactory» не вернул контроллер для контроллера с именем «Home.aspx».
Ошибка источника:
Необработанное исключение было создано во время выполнения текущего веб-запроса. Информацию о происхождении и местонахождении исключения можно определить с помощью трассировки стека исключений ниже.
Трассировки стека:
[InvalidOperationException: IControllerFactory 'WebUI.WindsorControllerFactory' не возвратил контроллер для контроллера с именем 'Home.aspx'.] System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) +304 System.Web.Mvc.MvcRequest (HttpContext httpContext) +54 System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) +7 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Web. HttpApplication.ExecuteStep (шаг IExecutionStep, логическое значение и завершено синхронно) +75
Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.3053; Версия ASP.NET: 2.0.50727.3053
Я предполагаю, что Castle Windsor не любит интерпретировать "Home.aspx" как контроллер ...
Как я могу это исправить ?