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

    示例代码

    示例代码

  • 相关阅读:
    「NOIP2011」聪明的质监员
    「CF5E」Bindian Signalizing
    「NOIP2017」列队
    「NOIP2016」愤怒的小鸟
    「牛客CSP-S2019赛前集训营2」服务器需求
    「牛客CSP-S2019赛前集训营1」仓鼠的石子游戏
    「SCOI2010」幸运数字
    函数求值一<找规律>
    梯形
    F(k)<(维护+枚举)(找规律+递推+枚举)>
  • 原文地址:https://www.cnblogs.com/Lulus/p/7873800.html
Copyright © 2011-2022 走看看