• Autofac json configuration


     static void Main(string[] args)
            {
                var config = new ConfigurationBuilder();
                config.AddJsonFile("autofac.json");
                // Register the ConfigurationModule with Autofac.
                var module = new ConfigurationModule(config.Build());
                var builder = new ContainerBuilder();
                builder.RegisterModule(module);
                var container = builder.Build();
                IOperation operation = container.Resolve<IOperation>();
                operation.Hello();
    
               
            }
    
    {
      "defaultAssembly": "Autofac.Example.Calculator",
      "components": [
        {
          "type": "Autofac.Example.Calculator.Addition.Add, Autofac.Example.Calculator",
          "services": [
            {
              "type": "Auofac.Example.Calculator.Api.IOperation,Autofac.Example.Calculator"
            }
          ],
          "injectProperties": true
        },
        {
          "type": "Autofac.Example.Calculator.Division.Divide, Autofac.Example.Calculator",
          "services": [
            {
              "type": "Auofac.Example.Calculator.Api.IOperation,Autofac.Example.Calculator"
            }
          ],
          "parameters": {
            "places": 4
          }
        }
      ]
    }
    public class IOperation
       {
           public virtual void Hello()
           {
               Console.WriteLine("Hello");
           }
       }
     
     public class Divide : IOperation
       {
           public override void Hello()
           {
               Console.WriteLine("Hello,I'm Divide");
           }
       }
     
    public class Add : IOperation
       {
           public override void Hello()
           {
               Console.WriteLine("Hello,I'm Add");
           }
       }
    
    <?xml version="1.0" encoding="utf-8" ?>
    <autofac defaultAssembly="Autofac.Example.Calculator">
        <components name="0">
            <type>Autofac.Example.Calculator.Addition.Add, Autofac.Example.Calculator.Addition</type>
            <services name="0" type="Autofac.Example.Calculator.Api.IOperation" />
            <injectProperties>true</injectProperties>
        </components>
        <components name="1">
            <type>Autofac.Example.Calculator.Division.Divide, Autofac.Example.Calculator.Division</type>
            <services name="0" type="Autofac.Example.Calculator.Api.IOperation" />
            <injectProperties>true</injectProperties>
            <parameters>
                <places>4</places>
            </parameters>
        </components>
    </autofac>
    

      

      

      

      

      

  • 相关阅读:
    k8s管理
    Docker
    容器技术学习系列(一)-Docker基础知识学习
    Linux系统下DHCP服务安装部署和使用详解
    Linux下配置yum源为阿里云或网易的详解
    一道算法题目(1)
    SS命令和Netstat命令比较
    centos配置redis的主从复制(2)
    centos配置redis的主从复制(1)
    散列表(22)
  • 原文地址:https://www.cnblogs.com/ms_senda/p/12612198.html
Copyright © 2020-2023  润新知