zoukankan      html  css  js  c++  java
  • 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");
  • 相关阅读:
    Bootstrap-模态框Modal使用
    MVC Controller return 格式
    数据库水平拆分和垂直拆分区别(以mysql为例)
    MySQL 对于大表(千万级),要怎么优化呢?
    mysql优化案例
    Mysql大表查询优化技巧总结及案例分析
    Mysql Partition 理论知识总结
    mysql Partition(分区)初探
    MySQL partition分区I
    xapian安装
  • 原文地址:https://www.cnblogs.com/JioNote/p/13666940.html
Copyright © 2011-2022 走看看