资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

使用NinjectIOC属性简单注入

  1. 下载Niject.dll

    海原网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站2013年至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站

 2.新建  控制器工厂


public class ControllerFactory : DefaultControllerFactory 
{   
 private IKernel ninjectKernel;   
 public NinjectControllerFactory()
 {
        ninjectKernel = new StandardKernel();
        AddBindings();
    }    
    protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType) 
    {        
    return controllerType == null ? null : (IController)ninjectKernel.Get(controllerType);
    }   
     private void AddBindings() 
     {  
     
           // todo:后面再来添加绑定   
                       _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();


            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();
            _kernel.Bind().To();


            _kernel.Bind().To();
           
       }
}


3 注册
protected void Application_Start()
 {
    ......    //设置Controller工厂
    ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}


还有一种方法属性注入

public class NinjectDependencyResolver:System.Web.Mvc.IDependencyResolver
    {        private readonly IKernel _kernel;        public NinjectDependencyResolver()
        {
            _kernel=new StandardKernel();
            AddBindings();
        }       
        private void AddBindings()
        {
          //同上
        }       
         public object GetService(Type serviceType)
        {           
         return _kernel.TryGet(serviceType);
        }       
         public IEnumerable GetServices(Type serviceType)
        {           
         return _kernel.GetAll(serviceType);
        }
    }
    
    3 注册
    protected void Application_Start()
 {
    DependencyResolver.SetResolver(new Code.NinjectDependencyResolver());//注册Ioc容器
    
}

网站栏目:使用NinjectIOC属性简单注入
本文链接:http://cdkjz.cn/article/pcjeci.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220