asp.net mvc控制器工厂

时间:2011-11-17 22:03:21

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

我想在这方面取得成就:

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

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

  3. 审核日志应包含:authenticated user信息,method calledmethod parameterstime stamp

  4. 我意识到这需要实现我自己的控制器工厂来做这样的事情:

        //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,因为它已经在我们公司的其他审计目的中完成了吗?

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

    merci

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

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