1.安装Ninject

2.使用Ninject

一 安装Ninject

Nuget:Ninject

二 使用Ninject

 public interface IStudent
{
string GetName();
}
 public class Student : IStudent
{
public string GetName()
{
return "ligenyun";
}
}
 public class NinjectControllerFactory : DefaultControllerFactory
{
private IKernel ninjectKernel; public NinjectControllerFactory()
{
ninjectKernel = new StandardKernel();
AddBindings();
} private void AddBindings()
{
ninjectKernel.Bind<IStudent>().To<Student>();
} protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, Type controllerType)
{
return controllerType == null ? null : (IController)ninjectKernel.Get(controllerType);
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing; namespace WebApplicationNinject
{
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
RouteConfig.RegisterRoutes(RouteTable.Routes);
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}
}
}
using Ninject;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using WebApplicationNinject.Models; namespace WebApplicationNinject.Controllers
{
public class StudentController : Controller
{
IStudent calcImpl; public StudentController(IStudent _calcImpl)
{
calcImpl = _calcImpl;
} // GET: Student
public ActionResult Index()
{
ViewData["test"] = calcImpl.GetName();
return View();
}
}
}
@{
ViewBag.Title = "Index";
} <h2>@ViewData["test"]</h2>

最新文章

  1. -webkit-tap-highlight-color
  2. ASP.NET MVC之Unobtrusive Ajax(五)
  3. JSP内置对象-request
  4. 【转载】iOS堆和栈的理解
  5. [转]Neutron演进
  6. CodeForces 702 A Maximum Increase (贪心,高效算法)
  7. poj2104
  8. SAE flask及其扩展 bug指南
  9. spring mvc事务注解
  10. 身份证校验程序(上)- 零基础入门学习Delphi48
  11. MySQL几种方法的数据库备份
  12. SGD
  13. WPF实现主题更换的简单DEMO
  14. JWT 认证 以及Django 中的应用
  15. java 根据身份证号码获取出生日期、性别、年龄
  16. OpenCV (C++) 颜色跟随
  17. CM记录-Hadoop参数调优
  18. JavaScript对象简介(一)
  19. Redis入门到高可用(二)—— Redis启动及使用
  20. js原生轮播

热门文章

  1. 华为服务器XH628配置软RAID
  2. linux系统设置登录失败n次锁定账户:vim /etc/pam.d/system-auth
  3. linux PHP空间设置GZIP压缩网页方法!
  4. monkey自定义脚本
  5. Java I/O(二)其他常用的输入输出流PrintStream等、标准流重定向
  6. C语言|博客作业12—学期总结
  7. mysql常用查询命令
  8. Acwing-277-饼干(DP)
  9. django admin登陆页出现TypeError at /admin/
  10. File类、FileInfo类、Directory类、DirectoryInfo类