【问题标题】:asp.net mvc controller factoryasp.net mvc 控制器工厂
【发布时间】:2011-11-17 22:03:21
【问题描述】:

我想达到这个程度:

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

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

  3. 审核日志应包含:authenticated user 信息、method calledmethod 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 是为了我们公司的其他审计目的而进行的?

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

谢谢

【问题讨论】:

  • 为什么不使用全局过滤器并记录所有内容OnActionExecuting

标签: asp.net-mvc policy-injection controller-factory


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多