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