zoukankan      html  css  js  c++  java
  • .net core 2.0 读取配置文件

    asp .net

    1.引用Microsoft.Extensions.Configuration
    2.在Startup中注入服务

    public static IConfiguration Configuration { get; private set; }
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }
    public void ConfigureServices(IServiceCollection services)
    {
        //添加服务
        services.AddUrlResolve(Configuration);
    }

    扩展方法AddUrlResolve如下

    /// <summary>
    /// 拓展方法
    /// </summary>
    public static class Extensions
    {
        /// <summary>
        /// 为了保留IConfiguration
        /// </summary>
        /// <param name="services"></param>
        /// <param name="config"></param>
        public static void AddUrlResolve(this IServiceCollection services, IConfiguration config)
        {
            services.Add(new ServiceDescriptor(typeof(UrlResolveService), typeof(UrlResolveService), ServiceLifetime.Singleton));
            //读取配置文件
            UrlResolveService.ApiUrl = config["ApiUrl"];
            UrlResolveService.AuthorityUrl = config["AuthorityUrl"];
        }
    }
    
    /// <summary>
    /// 读取配置文件的服务
    /// </summary>
    public class UrlResolveService
    {
        public static string AuthorityUrl { get; set; }
        public static string ApiUrl { get; set; }
    
        public string GetAuthorityUrl()
        {
            return AuthorityUrl;
        }
        public string GetApiUrl()
        {
            return ApiUrl;
        }
    }

    3.使用UrlResolveService服务

    public async Task<IActionResult> Call(UrlResolveService urlResolveService)
    {
        //API对应网址
        var apiUrl = urlResolveService.GetApiUrl();
        //......
    }

    4.配置文件

    {
      //授权网址
      "AuthorityUrl": "http://localhost:5000/",
      //API网址
      "ApiUrl": "http://localhost:5001/",
    }

    控制台(console)

    1.引用

    Microsoft.Extensions.Configuration
    Microsoft.Extensions.Configuration.FileExtensions
    Microsoft.Extensions.Configuration.Json

    2.创建appsettings.json

    {
      "YourKey": "YourValue",
    }

    并设置为生成时复制到输出目录
    3.关键代码

    var builder = new ConfigurationBuilder()
    			//保证执行文件下有json文件
    			.SetBasePath(Directory.GetCurrentDirectory())
    			.AddJsonFile("appsettings.json");
    IConfiguration config = new ConfigurationBuilder()
    	.AddJsonFile("appsettings.json", true, true)
    	.Build();
    var yourValue = config["YourKey"];

    参考资料

    How to use Configuration API in .net core console application

    示例代码

    示例代码

  • 相关阅读:
    归并排序(Merge Sort)
    AtCoder AGC035D Add and Remove (状压DP)
    AtCoder AGC034D Manhattan Max Matching (费用流)
    AtCoder AGC033F Adding Edges (图论)
    AtCoder AGC031F Walk on Graph (图论、数论)
    AtCoder AGC031E Snuke the Phantom Thief (费用流)
    AtCoder AGC029F Construction of a Tree (二分图匹配)
    AtCoder AGC029E Wandering TKHS
    AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
    AtCoder AGC035E Develop (DP、图论、计数)
  • 原文地址:https://www.cnblogs.com/Lulus/p/7873800.html
Copyright © 2011-2022 走看看