Тонкая настройка asp.net mvc - PullRequest
       7

Тонкая настройка asp.net mvc

3 голосов
/ 02 апреля 2009

Мне очень нравится идея Fubu MVC "одна модель в одной модели". Контроллер будет выглядеть примерно так

public class MyController
    {
        public OutputModel MyAction(InputModel inputModel)
        {
            //..
        }
    }

и локатор службы автоматически заполнит все необходимые зависимости в конструкторе.

Это облегчает тестирование контроллера.

Итак, мой вопрос: как бы вы настроили asp.net mvc для обеспечения такой простоты в контроллерах?

Ответы [ 2 ]

2 голосов
/ 02 апреля 2009

То, что вы ищете, - это ControllerActionInvoker. Вам придется реализовать свою собственную и переопределить / взять на себя обработку большинства конвейерных работ, которые выполняет ASP.NET MVC.

Для справки, прочитайте 2-часть поста Джонатона Картера о выполнении ControllerActionInvokers: http://lostintangent.com/2008/07/03/aspnet-mvc-controlleractioninvoker-part-1/

и

http://lostintangent.com/2008/07/07/aspnet-mvc-controlleractioninvoker-part-2/

Кроме того, команда Oxite сделала это во втором выпуске Oxite, вы можете проверить их источник здесь:

http://oxite.codeplex.com/SourceControl/changeset/view/30544

Вот ссылка непосредственно на их реализацию ControllerActionInvoker: http://oxite.codeplex.com/SourceControl/changeset/view/30544#442766

0 голосов
/ 02 апреля 2009

Никогда не копался глубоко внутри ASP.NET MVC, но я думаю, что пользовательские ModelBinder и ActionResult сделают эту работу.

...