• ASP.NET Core 读取配置文件信息


    一:读取配置文件

    先来看一下appsettings.json文件的内容,如下图:

    {
      "ConnectionStrings": {
        "ServerConnection": "Data Source=users.db;",
        "BaseWebContext": "Server=.; database=BaseWebApp;uid=sa;pwd=@sa123;",
        "RedisConnection": "127.0.0.1:6380,password=123"
      },
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          "Microsoft": "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "Redis": {
        "ConnectionString": "127.0.0.1:6380,password=123"
      },
      "MongoDB": {
        "ConnectionString": "mongodb://127.0.0.1"
      },
      "AllowedHosts": "*",
      "Url": "http://*:8088"
    }

    接下来主要是实现如何获取ConnectionStrings和Redis节点下面的链接字符串信息

    1.新建ConfigurationManager.cs管理类

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Options;
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace GyouApi
    {
        public static class ConfigurationManager
        {
            public readonly static IConfiguration Configuration;
    
            static ConfigurationManager()
            {
                Configuration = new ConfigurationBuilder()
                   .SetBasePath(Directory.GetCurrentDirectory())
                   .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                   .Build();
            }
    
            public static T GetSection<T>(string key) where T : class, new()
            {
                return new ServiceCollection()
                    .AddOptions()
                    .Configure<T>(Configuration.GetSection(key))
                    .BuildServiceProvider()
                    .GetService<IOptions<T>>()
                    .Value;
            }
    
            public static string GetSection(string key)
            {
                return Configuration.GetValue<string>(key);
            }
        }
    }

    2.获取ConnectionStrings节点下面的配置

    分别获取BaseWebContext 和RedisConnection

    private static readonly string BaseWebContextString = ConfigurationManager.Configuration.GetConnectionString("BaseWebContext")
    
    private static readonly string RedisConnectionString = ConfigurationManager.Configuration.GetConnectionString("RedisConnection");

    3.获取Redis节点下面的配置

     获取Redis的ConnectionString,  MongoDB下的同理

    
    
    //Redis节点
    private static readonly string RedisConnectionStringR = ConfigurationManager.GetSection("Redis:ConnectionString");
    //ConnectionString节点
    private static readonly string RedisConnectionString = ConfigurationManager.Configuration.GetConnectionString("RedisConnection");
  • 相关阅读:
    smarty相关
    Log4Net五步走[转载]
    The Water Horse: Legend of the Deep
    网站内容都是重复的,一个一个的复制真麻烦
    EXT2学习笔记,转载
    改写的一首诗赋
    CheckBoxList多选,获得选中的值!
    去年受朋友委托办了4张卡
    粒细胞
    GridView合并表头与行的反思
  • 原文地址:https://www.cnblogs.com/JioNote/p/13666940.html
Copyright © 2020-2023  润新知