博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net mvc 依赖注入Ninject
阅读量:5325 次
发布时间:2019-06-14

本文共 1990 字,大约阅读时间需要 6 分钟。

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
().To
(); } 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";}

@ViewData["test"]

 

转载于:https://www.cnblogs.com/ligenyun/p/10797053.html

你可能感兴趣的文章
判断对象是否存在 (if exists (select * from sysobjec...
查看>>
SVN检出后文件没有图标显示
查看>>
MPICH2在两台Ubuntu上安装
查看>>
jmete 取配置文件的行数(二)
查看>>
smortform 创建
查看>>
ng-class中的if else判断
查看>>
伪静态与重定向--RewriteBase
查看>>
“”.length()与“”.split(",").length
查看>>
如何让搜索引擎搜到自己的博客文章
查看>>
同步对象、信号量
查看>>
table标签
查看>>
hash
查看>>
Java内部类
查看>>
The Castle
查看>>
oracle 添加外键,报“未找到父项关键字”
查看>>
pymongo使用方法
查看>>
负数的左右移位
查看>>
在Ubuntu 14.04 64bit上安装百度云Linux客户端BCloud
查看>>
HDU-3836-Equivalent Sets(连通分量缩点)
查看>>
Java程序性能优化之代理模式
查看>>