zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

使用ASP.NET.4.5.1+MVC5.0搭建一个包含Ninject框架项目

ASP项目框架 使用 一个 搭建 包含 5.1
2023-06-13 09:15:42 时间

1.创建一个空白解决方案

2.添加一个类库名称为XXX.Domain

3.添加一个ASP.MVC名称为XXX.WebUI

4.选着空模版,勾选MVC核心引用

5.添加单元测试项目XXX.UntiTests

6.在程序包控制台里面输入以下代码

复制代码代码如下:


Install-PackageNinject-version3.0.1.10-projectnameToad.WebUI
Install-Package Ninject.Web.Common -version 3.0.0.7 -projectnameToad.WebUI
Install-Package Ninject.MVC3 -Version 3.0.0.6 -projectnameToad.WebUI
Install-Package Ninject -version 3.0.1.10 -projectnameToad.UnitTests
Install-Package Ninject.Web.Common -version 3.0.0.7 -projectnameToad.UnitTests
Install-Package Ninject.MVC3 -Version 3.0.0.6 -projectnameToad.UnitTests
Install-PackageMoq-version4.1.1309.1617-projectnameToad.WebUI
Install-Package Moq -version 4.1.1309.1617 -projectnameToad.UnitTests
Install-Package Microsoft.Aspnet.Mvc -version 5.0.0 -projectnameToad.Domain
Install-PackageEntityFramework-projectnameToad.Domain
Install-PackageEntityFramework-projectnameToad.WebUI

7.添加引用依赖关系,WebUI-->DomainUnitTests--->WebUIUnitTests--->Domain.

8.创建文件夹Infrastructure,设置NinjectDependencyResolver

复制代码代码如下:


namespaceToad.WebUI.Infrastructure
{
   publicclassNinjectDependencyResolver:IDependencyResolver
   {
       privateIKernelkernel;
       publicNinjectDependencyResolver(IKernelkernelParam)
       {
           kernel=kernelParam;
           AddBindings();
       }
       publicobjectGetService(TypeserviceType)
       {
           returnkernel.TryGet(serviceType);
       }
       publicIEnumerable<object>GetServices(TypeserviceType)
       {
           returnkernel.GetAll(serviceType);
       }
       privatevoidAddBindings()
       {
            kernel.Bind<IProductRepository>().To<EFProductRepository>();
       }
   }
}

9.修改App_Start里面的NinjectWebCommon.cs文件

复制代码代码如下:
 System.Web.Mvc.DependencyResolver.SetResolver(new
               Toad.WebUI.Infrastructure.NinjectDependencyResolver(kernel));

10.创建一个实体类

11.创建XXXXXRepository

12.最后新建Controller

13.生成模版视图

以上我们就建立好了一个包含Ninject框架项目,是不是很简单,希望小伙伴们喜欢,后续我们将继续深入。