builder.RegisterModule(new ConfigurationSettingsReader());
需要注册上面一句才能读到.config里的节点,xml配置方式如下
<configSections> <section name="autofac" type="Autofac.Configuration.SectionHandler, Autofac.Configuration"/> </configSections> <autofac> <modules> <module type="MvcApp.Models.TestModel, MvcApp"> <properties> <property name="Mode" value="1" /> </properties> </module> </modules> </autofac>
Module的demo 代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using Autofac; using MvcApp.BLL; using MvcApp.Interface; namespace MvcApp.Models { public class TestModel : Module { public string Mode { set; get; } protected override void Load(ContainerBuilder builder) { if (Mode == "1") { builder.RegisterType<Test1>().As<ITest>(); } else { builder.RegisterType<Test2>().As<ITest>(); } } } }
-------------------------------