zoukankan      html  css  js  c++  java
  • .Net Core中配置操作

             在.Net core 中不像 .Net FrameWork 是通过配置文件 webConfig 来操作的,而是通过 Json 文件来进行配置读取的。

             1.首先先在 Nuget 中加载所需的程序包  Microsoft.AspNetCore.All  或者( Microsoft.Extensions.Configuration 和 Microsoft.Extensions.Configuration.Json程序包)

             2.NET Core配置文件为 appsettings.json,名称要用这个默认的

             3.使用方式:

    //配置信息
    {
    "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "ConnectionStrings": { "TestConnection": "Server=.;Database=OWNDB;User ID=sa;Password=123456;Trusted_Connection=False;" }, "Appsettings": { "SystemName": "PDF .NET CORE", "Date": "2017-07-23", "Author": "PDF" },

        "BaseInfo": {
        "ClientId": "wxkjwdg",
        "ClientSecret": "3a1e0f2e466f4f2eb245a4998b11a4b5"
       },

      "ServiceUrl": "http://www.cnblogs.com/chuankang/"

    }

    这是用来控制操作配置文件的类

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.Json;
    
    namespace NetCore.Common
    {
        /// <summary>
        /// 读取配置文件
        /// </summary>
        public class AppConfigurtaionServices
        {
            public static IConfiguration Configuration { get; set; }
            static AppConfigurtaionServices()
            {
                //ReloadOnChange = true 当appsettings.json被修改时重新加载            
                Configuration = new ConfigurationBuilder()
                  .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
                  .Build();            
            }
        }
    }
    //这是专门读取数据库信息的方法,注意配置文件中一定要用 ConnectionStrings作一级菜单 否则读不到
    AppConfigurtaionServices.Configuration.GetConnectionString("TestConnection"); 
    //得到 Server=.;Database=OWNDB;User ID=sa;Password=123456;Trusted_Connection=False;
    读取一级配置节点配置
    
    AppConfigurtaionServices.Configuration["ServiceUrl"];
    //得到 http://www.cnblogs.com/chuankang/
    读取二级子节点配置
    
    AppConfigurtaionServices.Configuration["Appsettings:SystemName"];
    //得到 PDF .NET CORE
    AppConfigurtaionServices.Configuration["Appsettings:Author"];
    //得到 PDF

    也可以强类型绑定配置信息,更加便捷

        /// <summary>
        /// 基础配置
        /// </summary>
        public class BaseInfo
        {
            public string ClientId { get; set; }
    
            public string ClientSecret { get; set; }
        }
    
    
      //读取基本信息
       var baseInfo = new BaseInfo();
       AppConfigurtaionService.Configuration.GetSection("BaseInfo").Bind(baseInfo);

     注意,如果AppConfigurtaionServices类中抛出FileNotFoundException异常,说明目录下未找到appsettings.json文件,这时请在项目appsettings.json文件上右键——属性——将“复制到输出目录”项的值改为“如果较新则复制”即可。

     

  • 相关阅读:
    微信助力活动表结构设计
    mysql的in查询分析
    PHP从数组中找到指定元素的位置
    Java程序使用Alpine Linux报错java.lang.NoClassDefFoundError: Could not initialize class org.xerial.snappy.Snappy解决
    Eclipse/Idea 代码格式化部分忽略
    修改Linux桌面高分屏下QT程序界面的缩放
    折腾linux随笔 之 关闭Budgie默认自动隐藏应用的菜单栏 与 Gnome系桌面应用菜单无内容解决
    Debian Buster 使用Lxde在界面中打开url提示错误解决
    Portainer容器可视化管理工具使用文档
    Lxde添加触摸板双击功能、防误触
  • 原文地址:https://www.cnblogs.com/wang-min/p/12551912.html
Copyright © 2011-2022 走看看