asp.net фабрика контроллеров mvc - PullRequest
0 голосов
/ 18 ноября 2011

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

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

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

  3. Журнал аудита должен содержать: authenticated user info, 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 ]

3 голосов
/ 18 ноября 2011

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

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

1 голос
/ 18 ноября 2011

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

...