asp.net фабрика контроллеров mvc

Я хотел бы достичь чего-то в такой степени:

  1. Я хочу проверить все мои контроллеры, участвующие в обслуживании запросов http для файлов просмотра.

  2. Я хотел бы проверить каждый метод на этом контроллере и записать эту информацию в плоский файл (скользящий регистратор??).

  3. Журнал аудита должен содержать: authenticated user Информация, method called, method parameters, time stamp,

Я понимаю, что для этого потребуется реализовать собственную фабрику контроллеров, чтобы сделать что-то вроде этого:

    //policy injection call that is set up to log all the methods, called on the 
   //controller.
   var myController = ControllerCustomerFactory<FlatRollingLogger>.Create();

что мне делать дальше, если я должен внедрить пользовательский контроллер где-нибудь еще, или фабрика будет отслеживать, какой контроллер должен быть создан?

Я думал о Microsoft Ent Lib Policy Injection, как это было сделано для других целей аудита в нашей компании?

Любые другие лучшие идеи, чтобы справиться с этим?

мерси

2 ответа

Нет, вам не нужен собственный фабричный контроллер, просто создайте глобальный фильтр действий. MVC очень расширяемый.

http://weblogs.asp.net/gunnarpeipman/archive/2010/08/15/asp-net-mvc-3-global-action-filters.aspx

Возможно, вы захотите рассмотреть аспектно-ориентированный подход с использованием такой инфраструктуры, как PostSharp. Вы можете использовать каркас журналирования, такой как log4net, для фактического ведения журнала.

Другие вопросы по тегам