首页 > 其他分享 >NET6 web项目读取 appsettings配置文件

NET6 web项目读取 appsettings配置文件

时间:2022-09-28 20:58:33浏览次数:77  
标签:web 读取 配置文件 appsettings ConfigHelper public string

可以在appsettings中配置数据量连接字符串等数据,便于项目发布后的配置

首先,创建 ConfigHelper类

namespace TestProject.services
{
    public class ConfigHelper
    {
        private static IConfiguration _config;

        public ConfigHelper(IConfiguration configuration)
        {
            _config = configuration;
        }

        /// <summary>
        /// 读取appsettings.json文件中指定节点信息
        /// </summary>
        /// <param name="sessions"></param>
        /// <returns></returns>
        public static string ReadAppSettings(params string[] sessions)
        {
            try
            {
                if (sessions.Any())
                {
                    return _config[string.Join(":",sessions)];
                }
            }
            catch
            {
                return "";
            }
            return "";
        }

        /// <summary>
        /// 读取实体信息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="session"></param>
        /// <returns></returns>
        public static List<T> ReadAppSettings<T>(params string[] session)
        {
            List<T> list = new List<T>();
            _config.Bind(string.Join(":",session),list);
            return list;
        }
    }
}

  然后在Program.cs中添加如下代码注入服务

var builder = WebApplication.CreateBuilder(args);

IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();

builder.Services.AddSingleton(new ConfigHelper(configuration));

在 appsettings.json中添加如下代码

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "Test": {
    "testStr1": "testvalue1",
    "testStr2": "testvalue2"
  },
}

最后,可以在项目的任意地方读取配置文件数据

string str = ConfigHelper.ReadAppSettings("Test", "testStr1");

可以获取 str 的值为 testvalue1。

本文参考简书文章,写文章 - .net core (.net6) 读取配置文件 appsettings.json  - 简书 (jianshu.com)

感谢原作者。

标签:web,读取,配置文件,appsettings,ConfigHelper,public,string
From: https://www.cnblogs.com/kevinN/p/16739510.html

相关文章

  • Web大文件(百M以上)的上传下载实现技术
    ​最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的交......
  • 解决Error: Cannot find module 'webpack/lib/RequestShortener'
    Error:Cannotfindmodule‘webpack/lib/RequestShortener’atFunction.Module._resolveFilename(module.js:548:15)atFunction.Module._load(module.js:475:25......
  • webpack
    webpack常用指令用npm安装Webpack:$npminstallwebpack-g(全局安装)$npminstallwebpack--save-dev(本地安装)$npminfowebpack----查看webpack版本......
  • javaweb核心之页面技术
    2页面技术2.1JSP基础2.1.1JSP简介JSP全称是JavaServerPage,它和Servlet一样,也是sun公司推出的一套开发动态web资源的技术,称为JSP/Servlet规范。JSP的本质其实就是一......
  • 手写一个webpack插件
    前言前端性能优化是一个老生常谈的话题,关于性能优化的技术文档和书籍都特别多。如果大家想深入学习前端性能优化相关内容,有以下推荐雅虎军规35条某东上搜“前端性能优......
  • BUUCTF web 第二题代码审计
    BUUCTFweb2[极客大挑战2019]WarmUp代码审计✔解题方法1.查看网页源代码<htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content=......
  • WebService笔记
    【WebService】是一种无关语言无关平台的远程调用技术。WebService是通讯是有状态的,使用Soap简单对象访问协议通讯。 WebService 有三要素:soap、wsdl、udd......
  • JavaWeb 6 JDBC 常用API
         ......
  • 13.javaweb三大组件
    ......
  • nuiapp在APP中的.nvue页面中使用webview展示空白的问题
    之前写的一个uniapp的项目,这段时间又看了一下,在打包的APP中发现webview打开显示空白(以前的时候没问题)一开始以为是链接问题,跨域问题,总之就是各种尝试了因为小程序上没问......