2

我在 DataAccess 项目中有我的 UnitOfWork 类并解析我的 IUnitOfWork 接口(使用 UnitOfWork 类),我需要使用 Ninject 在我的 Web 项目中将 IUnitOfWork 接口与 UnitOfWork 类绑定。

为此,我需要在 Web 项目中引用我的 DataAccess 项目(其中包含 UnitOfWork 类)。这个好的设计明智吗?我的意思是在 web 项目中引用 DataAccess 似乎是个坏主意,我从来没有这样做过。

所以,请告诉我该怎么做?

4

1 回答 1

2

如果您不习惯参考 DataAccess 项目(恕我直言,这不是一个大问题),您可以创建单独的项目(我们称之为 ModuleProject),其中包含NinjectModules. ModuleProject 将引用 DataAccess 和IUnitOfWork定义的项目。在您的 Web 项目中,您将引用 ModuleProject 并使用它的类来注册模块。

模块

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

在 Web 项目中注册

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

更多关于模块的信息在这里

于 2013-03-19T21:57:46.463 回答