我正在尝试 AOP 的各种框架实现,我真的很喜欢 Ninject,但是有一个标准我无法终生工作。
我试图让它对所有类型为 (X) 的类使用拦截器...这是我当前的代码:
Kernel.Intercept(x => x.Binding.Target.GetType().IsInstanceOfType(typeof(X))).With<SomeInterceptor>();
我最初尝试使用 x.Request.Blah 而不是 x.Binding.Blah 但是这两种方法似乎都没有产生我想要的结果......而且这个惊人功能的文档非常稀缺并且似乎从未涵盖内核.Intercept() 扩展...
希望这是一个简单的答案!
最佳答案
x.Binding.Target
是一个枚举,它指定了提供者的类型。您必须查看绑定(bind)类型的 x.Binding.Service
。如果您需要实例化类型,则必须等待下一个版本。
关于aop - Ninject 拦截 X 类的所有实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674145/