0

私はこの程度まで何かを達成したいと思います:

  1. ビューファイルへのhttpリクエストの処理に参加しているすべてのコントローラーを監査したいと思います。

  2. そのコントローラーのすべてのメソッドを監査し、この情報をフラットファイル(ローリングロガー??)に書き込みたいと思います。

  3. 監査ログには、info 、、、、が含まれている必要が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は、当社の他の監査目的で行われているので、考えていましたか?

これを処理するための他のより良いアイデアはありますか?

メルシー

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 に答える