Ninject 自动注册

首先这个问题我纠结了很久,看到autofac强大的自动注册功能,我感觉Ninject弱爆了,不过Ninject自带属性注册,感觉很方便,所以还在纠结Ninject

传统的绑定方式

public class BLLModule:NinjectModule
    {
        public override void Load()
        {
            Bind<Itb_sys_ModuleBLL>().To<tb_sys_ModuleBLL>().InSingletonScope();
            Bind<Itb_sys_ItemBLL>().To<tb_sys_ItemBLL>().InSingletonScope();
            Bind<Itb_item_CompanyBLL>().To<tb_item_CompanyBLL>().InSingletonScope();
            Bind<Itb_item_DepartmentBLL>().To<tb_item_DepartmentBLL>().InSingletonScope();
            Bind<Itb_item_UserBLL>().To<tb_item_UserBLL>().InSingletonScope();
            Bind<Itb_item_RoleBLL>().To<tb_item_RoleBLL>().InSingletonScope();
        }
    }

  一个接口对应一个实体类,太费劲了。

自动绑定方式:

    /// <summary>
        /// Load your modules or register your services here!
        /// </summary>
        /// <param name="kernel">The kernel.</param>
        private static void RegisterServices(IKernel kernel)
        {
            kernel.Bind(scanner => scanner.From("IBLL","BLL")
               .Select(IsServiceType)
               .BindDefaultInterface()
               .Configure(binding => binding.InSingletonScope())
           );
            kernel.Bind(scanner => scanner.From("IDao", "Dao")
               .Select(IsServiceType)
               .BindDefaultInterface()
               .Configure(binding => binding.InSingletonScope())
           );
        }
        private static bool IsServiceType(Type type)
        {
            return type.IsClass && type.GetInterfaces().Any(intface => intface.Name == "I" + type.Name);
        }

这样就OK了,不用在手动棒了,所有的接口都注册好了

实现方式:

1、vs2010 Nuget安装Ninject.Mvc3

2、vs2010 Nuget安装Ninject.Extensions

就这样好了。太他娘的简单了。

时间: 2024-08-07 17:01:35

Ninject 自动注册的相关文章

NPS自动注册AD服务器

可以使用以下过程来安装 Active Directory(R) 证书服务 (AD CS) 并在运行网络策略服务器 (NPS) 的服务器上注册服务器证书.如果部署基于证书的身份验证,则运行 NPS 的服务器必须具有服务器证书.在身份验证过程中,这些服务器会将其服务器证书作为身份证明发送到客户端计算机.(如果NPS与AD是两台服务器,NPS注册需要以域用户身份登录才可注册) 配置 NPS 服务器证书注册的过程分为三个阶段: 安装 AD CS 服务器角色.只有当尚未在网络上部署证书颁发机构 (CA)

zabbix自动注册

zabbix-server页面中定义zabbix自动注册动作action1.Configuration-->Actions-->Event source:Auto registration-->Create action ①Action:这项内容是定义发送邮件/消息的内容name - 腾讯云主机自动注册Default subject - Auto registration: {HOST.HOST}Default message - Host name: {HOST.HOST}      

C++11实现一个自动注册的工厂

实现动机 工厂方法是最简单地创建派生类对象的方法,也是很常用的,工厂方法内部使用switch-case根据不同的key去创建不同的派生类对象,下面是一个伪代码. Message* create(int type) { switch (type) { case MSG_PGSTATS: m = new MPGStats; break; case MSG_PGSTATSACK: m = new MPGStatsAck; break; case CEPH_MSG_STATFS: m = new MSt

Zabbix实战-简易教程--动作(Actions)--自动注册

一.概述 之前已经讲述了自动发现功能,自动注册和自动发现非常类似,但是比自动发现更精确.因为自动注册,是在Agent上自定义元数据,然后Agent将元数据发送给server进行匹配,如果匹配一致,则进行下一步的动作(添加主机.模板之类的操作),所以从流程上来说,主动注册比自动发现更加精确. 二.配置 1.指定服务器 在agent配置文件中指定Zabbix server - zabbix_agentd.conf ServerActive=1.0.0.1 如果你没有在zabbix_agentd.co

自动化运维工具之Zabbixzabbix发现_自动注册及web页面状态监控(四)

网络发现(Network Discovery) **网络发现是zabbix最具有特色的功能之一,它能根据用户实现定义好的规则自动添加监控主机和服务等 -->speed up Zabbix deployment -->simplify administration -->use Zabbix in rapidly changing environments without excessive administration **Zabbix的网络发现功能可基于如下信息进行: -->IP

zabbix自动发现和自动注册

zabbix自动发现和自动注册 熟练通过Zabbix监控平台监控单台客户端之后,企业中有成千上万台服务器,如果手工添加会非常耗时间,造成大量的人力成本的浪费,有没有什么好的自动化添加客户端的方法呢? Zabbix自动发现就是为了解决批量监控而设计的功能之一,什么是自动发现呢,简单来说就是Zabbix Server端可以基于设定的规则,自动批量的去发现局域网若干服务器,并自动把服务器添加至Zabbix监控平台,省去人工手动频繁的添加,节省大量的人力成本. 一. 自动发现: Zabbix最大的特点之

C#实现Dll(OCX)控件自动注册的两种方法 网上找的 然后 自己试了试 还是可以用的

尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通过“添加引用”的方式将它们纳入到项目中,然后就可以像使用自己的类一样方便的使用它们了.但是,有些Dll库(OCX)文件是需要注册到Windows注册表后才能正常添加和使用的.本文介绍两种为Dll库(OCX)自动注册的方法,为大家提供参考. 首先,大家都知道在Windows的“运行”中,输入“Regs

2-puppet自动注册

一.配置自动注册规则 server端: vim /etc/puppet/autosign.conf *.puppet.com                       #指定自动注册的域名范围(IP没验证,不确定) 二.清除认证配置 puppet cert  list --all 查看 puppet cert  --clean   client1.puppet.com  # 清除制定配置 三.清理客户端配置 cd   /var/lib/puppet/ssl   && rm -rf * 重

C++、VC++、MFC网页自动注册、登陆、发帖、留言,QQ注册、QQ申请器源码、注册邮箱源码、自动发帖源码

C++.VC++.MFC网页自动注册.登陆.发帖.留言,QQ注册.QQ申请器源码.注册邮箱源码.自动发帖源码 参考资料: 自动登录yahoo邮箱http://blog.csdn.net/suisuibianbian/archive/2005/12/12/550260.aspx VC采集网页所有表单域http://blog.csdn.net/fjssharpsword/archive/2010/12/17/6081689.aspx 说说这类软件最常见的使用方式吧. 也许你经常看到有人发布了以下这类