贝锐智能攀枝花建站部专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

使用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://mswzjz.cn/article/pcjeci.html