【问题标题】:Ninject AOP - getting method parameters from intercepted methodNinject AOP - 从拦截的方法中获取方法参数
【发布时间】:2009-08-24 07:39:19
【问题描述】:
有没有人知道一种方法来获取发送到方法中的截获参数。
比如……
您在 CustomerService 中有一个像这样的 Update 方法.. Update(Customer c)
..并且您想获取发送到服务中的 Customer 对象。
它是否以任何方式开箱即用,或者除了“通常”拦截之外,我是否必须做其他任何事情。
/J
【问题讨论】:
标签:
parameters
aop
ninject
【解决方案1】:
假设您使用的是最新版本的 Ninject,您应该能够从拦截器 BeforeInvoke 调用参数中获取它们(如果您的拦截器继承自 SimpleInterceptor)
protected override void BeforeInvoke(Ninject.Core.Interception.IInvocation invocation)
{
foreach (var arg in invocation.Request.Arguments)
log.Message(arg.ToString());
}
请求字段中还提供了一些其他属性来帮助您确定通用参数等内容。