2013-01-11 47 views
2

我的MVC 4服務有這種結合:Ninject:如何使用攔截與規範結合

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

此外,該服務只需要一個合同項目,其中包含我的所有接口的參考。 調用Web API服務時,ninject會掃描程序集以查找匹配的混凝土,然後將對象吐出來,填入構造函數綁定。

我想在域模型方法上攔截方法調用,以在適當的地方處理錯誤,日誌和基準。

我是否必須創建一個單獨的模塊來處理這個問題?
我不想在我的域名項目中引用ninject

回答

3

引用Ninject.Extensions.Interception並且例如動態代理擴展。然後。請執行以下操作:

BindDefaulInterface()

添加

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

就是這樣