Ninject:如何使用约定绑定进行拦截

时间:2013-01-11 19:02:38

标签: vb.net ninject aop

我的MVC 4服务具有此绑定功能:

        kernel.Bind(Sub(x)
                        x.FromAssembliesMatching("*").
                        SelectAllClasses().
                        BindDefaultInterface()
                    End Sub)

此外,该服务仅包含对包含所有接口的合同项目的引用。 调用Web API服务时,ninject会扫描程序集以查找匹配的concretes并吐出对象,并填充构造函数绑定。

我想拦截对域模型方法的方法调用,以便在适当的时候处理错误,日志和基准测试。

我是否必须创建一个单独的模块来处理它? 我不希望在我的域项目中引用ninject

1 个答案:

答案 0 :(得分:4)

引用Ninject.Extensions.Interception,例如动态代理扩展。然后。执行以下操作:

BindDefaulInterface()之后

添加

.Configure(b => b.InScopeOfYourChoice().Intercept().With...)

就是这样