2011-11-17 49 views
0

我想實現的東西到這個程度:asp.net的MVC控制器工廠

  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,因爲它已經在我們公司的其他審計目的中完成了嗎?

任何其他更好的想法來處理這個?

MERCI

+2

爲什麼不使用全局過濾器並記錄所有這些東西'OnActionExecuting' – dotjoe

回答

1

您可能需要使用框架,如PostSharp考慮的一個方面爲導向的方法。您可以使用日誌框架(如log4net)執行實際日誌記錄。