Установите ViewData вне контроллера - PullRequest
2 голосов
/ 24 марта 2009

Я пытаюсь создать регистратор, который будет записывать запросы, выполняемые LINQ на страницу, отформатированную с помощью великолепной библиотеки JavaScript SyntaxHighlighter.

Для этого я установил свойство Log объекта DataContext в свой пользовательский регистратор, который работает хорошо.

Теперь мне просто нужно получить текущий объект Controller (вне контекста выполнения контроллера), чтобы я мог установить некоторые ViewData с тем, что нужно выводить.

Есть предложения?

1 Ответ

3 голосов
/ 24 марта 2009

Если вы хотите выполнять операции вне контроллера, тогда хорошие фильтры действий (и т. Д.) - хорошая ставка; просто унаследуйте от ActionFilterAttribute, переопределите OnActionExecuting (и т. д.), чтобы ввести данные в представление, и пометьте свой контроллер [YourCustomFilter].

Как это


(оригинал; возможно, меня неправильно поняли)

Было бы лучше использовать здесь внедрение зависимостей, передавая средство записи журнала в хранилище в качестве аргумента конструктора (в идеале через что-то вроде StructureMap, который очень хорошо работает с MVC через StructureMapControllerFactory или аналогичный).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...