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>
    

      

      

      

      

      

  • 相关阅读:
    使用Nginx实现反向代理
    nginx配置
    jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
    jsonp形式的ajax请求:
    面试题
    PHP设计模式_工厂模式
    Redis限制在规定时间范围内登陆错误次数限制
    HTTP 状态码简介(对照)
    Django 进阶(分页器&中间件)
    Django 之 权限系统(组件)
  • 原文地址:https://www.cnblogs.com/ms_senda/p/12612198.html
Copyright © 2011-2022 走看看