Autofac.configuration配置文件的形式使用 Autofac

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autofac;
//using Microsoft.Extensions.Configuration;
using Autofac.Configuration;
using Microsoft.Extensions.Configuration;

namespace ConsoleApplication8
{
    class Program
    {
        private static IContainer Container { get; set; }

        static void Main(string[] args)
        {
            var builder = new ContainerBuilder(); // 
            // Register individual components 

            //builder.RegisterType<ApplyRouteProcessor>().As<IProcessor>();
            //builder.RegisterModule(new )
       

            var config = new ConfigurationBuilder();

            config.AddXmlFile("test.xml");

            // Register the ConfigurationModule with Autofac.
            var module = new ConfigurationModule(config.Build());
            //var builder = new ContainerBuilder();
            builder.RegisterModule(module);
            Container = builder.Build();
           // Container.Resolve<IProcessor>();
            WriteData();
            Console.ReadKey();
        }

        public static void WriteData()
        {
            using (var scope = Container.BeginLifetimeScope())
            {
                var writer = scope.Resolve<IProcessor>();

                writer.Processor();
            }
                
        }
    }
}


 test.xml

<?xml version="1.0" encoding="utf-8" ?>

  <autofac defaultAssembly="ConsoleApplication8">
    <components name="0">
      <type>ConsoleApplication8.ApplyRouteProcessor</type>
      <services name="0" type="ConsoleApplication8.IProcessor" />
      <injectProperties>true</injectProperties>
    </components>
  </autofac>

猜你喜欢

转载自blog.csdn.net/softuse/article/details/81143088