0

我想在这个程度上取得一些成就:

  1. 我想审核参与向视图文件提供 http 请求的所有控制器。

  2. 我想审核该控制器上的每个方法并将此信息写入平面文件(滚动记录器??)。

  3. 审核日志应包含:authenticated user信息method called、、、、method parameterstime 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,因为它已在我们公司用于其他审计目的?

还有其他更好的想法来处理这个问题吗?

谢谢

4

2 回答 2

3

不,您不需要自己的工厂控制器,只需创建一个全局操作过滤器。MVC 是非常可扩展的。

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

于 2011-11-17T22:43:18.420 回答
1

您可能需要考虑使用PostSharp等框架的面向方面的方法。您可以使用log4net等日志框架来执行实际的日志记录。

于 2011-11-17T22:10:10.020 回答