autofac 学习记录

            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>();
            }
        }
    }
}

-------------------------------

原文地址:https://www.cnblogs.com/peteryu007/p/3387567.html