zoukankan      html  css  js  c++  java
  • 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>
    

      

      

      

      

      

  • 相关阅读:
    java多线程设计模式
    Java横向、纵向合并图片
    Oracle数据库当前连接数、最大连接数的查询与设置
    oracle获取一段时间内所有的小时、天、月
    Struts2+Spring3+Mybatis3开发环境搭建
    Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源方法
    spring+mybatis 多数据源切换
    Java与WCF交互(一):Java客户端调用WCF服务
    使用axis2进行WebService的开发
    axis2 WebService的发布与调用
  • 原文地址:https://www.cnblogs.com/ms_senda/p/12612198.html
Copyright © 2011-2022 走看看