log4net を使用して、ASP.NET MVC コントローラー アクション メソッドへのすべての呼び出しをログに記録します。
ログには、コントローラーに渡されたすべてのパラメーターに関する情報が含まれている必要があります。
各アクション メソッドでこれを手作業でコーディングするのではなく、 Unity を介してインターセプターを使用した AoP アプローチを使用したいと考えています。
これは、インターフェースを使用する他のいくつかのクラスで既に機能しています ( を使用InterfaceInterceptor
)。ただし、コントローラーの処理方法がわかりません。インターフェイスを使用するためにそれらを少し作り直す必要がありますか、それとももっと簡単な方法がありますか?
編集
VirtualMethodInterceptorは正しいアプローチのようですが、これを使用すると次の例外が発生します。
System.ArgumentNullException: 値を null にすることはできません。 パラメータ名:str System.Reflection.Emit.DynamicILGenerator.Emit (OpCode オペコード、文字列 str) で Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.PreBuildUp (IBuilderContext コンテキスト) で Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp (IBuilderContext コンテキスト) で