我在DataAccess项目中有我的UnitOfWork类并解析我的IUnitOfWork接口(使用UnitOfWork类),我需要使用Ninject将IUnitOfWork接口与我的Web项目中的UnitOfWork类绑定。
为此,我需要在Web项目中引用我的DataAccess项目(包含UnitOfWork类)。这个好设计明智吗?我的意思是在网络项目中引用DataAccess似乎是一个坏主意&我从来没有这样做过。
那么,请告诉我该怎么做?
答案 0 :(得分:2)
如果您不习惯参考DataAccess项目( imho这不是一个大问题),您可以创建包含NinjectModule
s的单独项目(让我们称之为ModuleProject)。 ModuleProject将引用DataAccess和定义IUnitOfWork
的项目。在您的Web项目中,您将引用ModuleProject并使用其类来注册模块。
<强>模块强>
public class NinjectConfiguration : NinjectModule
{
public override void Load()
{
Bind<IUnitOfWork>().To<UnitOfWork>();
}
}
在网络项目中注册
kernel.Load(new Mod.NinjectConfiguration());
有关模块here的更多信息。