使用 log4net,我们希望记录对 ASP.NET MVC 控制器操作方法的所有调用。
日志应包含有关传递给控制器的任何参数的信息。
我们希望通过 Unity使用带有拦截器的 AoP 方法,而不是在每个动作方法中手动编码。
我们已经将它与其他一些使用接口的类一起使用(使用InterfaceInterceptor
)。但是,我们不确定如何继续使用我们的控制器。我们是否应该稍微修改它们以使用接口,还是有更简单的方法?
编辑
VirtualMethodInterceptor似乎是正确的方法,但是使用它会导致以下异常:
System.ArgumentNullException:值不能为空。 参数名称:str 在 System.Reflection.Emit.DynamicILGenerator.Emit(OpCode 操作码,字符串 str) 在 Microsoft.Practices.ObjectBuilder2.DynamicMethodConstructorStrategy.PreBuildUp(IBuilderContext 上下文) 在 Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext 上下文)