Обновить

Комментарии 12

Уже интересней, спасибо :)
Хорошая статья. Приятно почитать о ASP.NET MVC на русском. Жду продолжения.
«Один из самых распространенных вариантов – это внедрение механизма IoC/DI для инстанцирования контроллеров с помощью DI-контейнера, например Unity Application Blocks. „

Прочитал: habrahabr.ru/blogs/net/50845/, но что-то все равно не смог придумать реального примера? Подсобите? Представляется, что можно использовать Aspect.NET для удобной реализации логирования контроллеров…
public class ControllerFactory: DefaultControllerFactory
{
protected override IController GetControllerInstance(Type controllerType)
{
IUnityContainer container;
UnityConfigurationSection configuration = (UnityConfigurationSection) ConfigurationManager.GetSection(«unity»);
configuration.Containers.Default.Configure(container);

return (IController)container.Resolve(controllerType);
}
}

типа того, пишу прямо на хабре, может чего попутал
вообще суть связывания Unity и фабрики контроллеров в том, чтобы контроллеры создавались и инициализировались необходимыми параметрами автоматически на основании набора параметров в web.config. Если все сделать верно, то на выходе будем иметь класс контроллера с набором автоматически поднятых сервисов.
Есть стойкое ощущение, что ООП надо все таки применять по месту. По описанию представилось нечто монструозное.
что именно не понятно и что монструозно? если напишите, я постараюсь показать, как все просто
Ну просто после Django показалось что объектная модель описывает не совсем то, что происходит логически. Как известно, в Django применяется по большей части процедурный стиль для собственно обработки запроса, и ООП для моделей, форм. В представленном фреймворке, как мне кажется, процесс несколько усложнен.
И вот тут сказывается некоторый недостаток вашего стиля введения — хотелось бы примера на уровне голосования или что то в этом роде. Только так, мне думается, можно показать простоту и ясность фреймворка.
с Django не знаком, ничего сказать по сравнению не могу
объектная модель MVC Framework крайне логична, показанная здесь кухня для тех, кто уже знает фреймворк и хочет узнать как он работает. Это совсем не введение в него. Введение в MVC Framework гораздо проще: класс — контроллер, его метод — действие (action). все.
Прошу извинить, я думал это именно введение.
У меня вопрос! Какой код нужно написать чтобы пользователь, введа по ошибке русские буквы вместо латинских все равно попал на правильную страницу? Например вместо Index написал Штвуч но все равно получил редирект куда надо.
как раз на этапе фабрики контроллеров можно переопределить виртуальный метод CreateController, он принимает от MvcHandler имя контроллера. Соответсвенно в переопределенном методе, необходимо обработать вариант с другой раскладкой. Такую же логику, но уже для конвертации имени действия нужно добавить в виртуальный метод ExecuteCore класса контроллера либо в механзим ControllerActionInvoker в метод InvokeAction, который принимает имя действия для исполнения.

Но лучше возвращать 404 ошибку, чтобы юзеры не расплодили по интернету неправильные, плохоиндексируемые ссылки на ваш сайт.
Спасибо
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Минуточку внимания