如何创建电子商务网站,怎么制作一个网站及小程序,wordpress 修改时间,沈阳开发网站公司Autofac是轻量级的开源Ioc容器#xff0c;在这里可以下载http://code.google.com/p/autofac/。如果你用过其他的Ioc容器#xff0c;那么学习Autofac使用也会比较容易#xff0c;下面将通过一些例子来讲解其用法。 先看一个例子#xff1a; 首先新建一个工程#xff0c;添加… Autofac是轻量级的开源Ioc容器在这里可以下载http://code.google.com/p/autofac/。如果你用过其他的Ioc容器那么学习Autofac使用也会比较容易下面将通过一些例子来讲解其用法。 先看一个例子 首先新建一个工程添加Autofac引用。 准备代码和之前的一样 interface IDal { void save(); } class SqlServerDal : IDal { public void save() { Console.WriteLine(SqlServer save.); } } class OracleDal : IDal { public void save() { Console.WriteLine(Oracle save.); } } 接下来就是Ioc的实现了 class DataFactory { public static IContainer GetContainers() { var builder new ContainerBuilder(); builder.RegisterIDal(c new OracleDal()).SingleInstance(); return builder.Build() ; } }接下来就是获取对象的实例并调用 static void Main(string[] args) { var container DataFactory.GetContainers(); container.ResolveIDal().save(); Console.Read(); } 好我们来分析一下代码看看Autofac容器的构造及获取实例的过程从代码中可以看出和Unity类似也是通过三步完成的。 创建一个ContainerBuilder容器构造器。登记服务和组件及对应的实例对象最后就是通过生成的容器并构造出来的IContainer取对象实例了。 同样的组件及实例对象的映射关系可以通过XML文件进行配置 ?xml version1.0 encodingutf-8 ? configuration configSections section nameautofac typeAutofac.Configuration.SectionHandler, Autofac.Configuration/ /configSections autofac components component typeAutofacDemo.OracleDal, AutofacDemo serviceAutofacDemo.IDal, AutofacDemo / /components /autofac /configuration调用配置文件注册组件 public static IContainer GetContainers() { var builder new ContainerBuilder(); // builder.RegisterIDal(c new OracleDal()).SingleInstance(); builder.RegisterModule(new ConfigurationSettingsReader(autofac)); return builder.Build() ; } 转载于:https://www.cnblogs.com/zgqys1980/archive/2012/08/22/2650921.html