2013-03-19 79 views
2

我有我的UnitOfWork類在DataAccess項目和解決我的IUnitOfWork接口(與UnitOfWork類),我需要使用Ninject綁定IUnitOfWork接口與UnitOfWork類在我的Web項目。UnitOfWork與NInject設計問題

爲此,我需要在Web項目中引用DataAccess項目(其中包含UnitOfWork類)。這個設計是否明智?我的意思是在Web項目中引用DataAccess似乎是一個壞主意&我從來沒有這樣做過。

那麼,請告訴我該怎麼做?

+1

您可以通過https://github.com/ninject/ninject/wiki/Modules-and-the-Kernel添加一些細節,以瞭解哪些位未被覆蓋。也許這可能有助於識別文章中的缺點? – 2013-03-19 21:44:30

+0

非常有用...非常感謝。 – user972255 2013-03-20 02:33:10

回答

2

如果你不舒服有參考數據訪問項目(恕我直言,這是不是一個大問題),可以創建單獨的項目(我們稱之爲ModuleProject)將包含NinjectModule秒。 ModuleProject將引用DataAccess和IUnitOfWork定義的項目。在您的Web項目中,您將引用ModuleProject並使用它的類來註冊模塊。

模塊

public class NinjectConfiguration : NinjectModule 
{ 
    public override void Load() 
    { 
     Bind<IUnitOfWork>().To<UnitOfWork>(); 
    } 
} 

登記在web項目上模塊here

kernel.Load(new Mod.NinjectConfiguration()); 

的更多信息。