c# net6 读取appsettings.json方法

news/2024/11/19 18:45:56/文章来源:https://www.cnblogs.com/wishit/p/18347464

如图:

一、appsettings.json

{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","SqlServer": {"Server": "192.168.1.10","Database": "dbname","UserId": "userid","Password": "password"}
}

二、AppHepler.cs

   public class AppHelper{private static IConfiguration _config;public AppHelper(IConfiguration configuration){_config = configuration;}/// <summary>/// 读取指定节点的字符串/// </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

using ElecInvoice.Common;
using log4net.Config;var builder = WebApplication.CreateBuilder(args);// Add services to the container.//读取 appsettings.json
IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
builder.Services.AddSingleton(new AppHelper(configuration));//AppHelper为读取appsettings.json的实体类

builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();// 配置 log4net  
XmlConfigurator.Configure(new FileInfo("log4net.config"));var app = builder.Build();// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{app.UseSwagger();app.UseSwaggerUI();
}app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.Run();

四、用法 SqlDB.cs

    public class SqlDB{public static string sqlStr = @$"
                                        Server={AppHelper.ReadAppSettings("SqlServer:Server")};Database={AppHelper.ReadAppSettings("SqlServer:Database")};User Id={AppHelper.ReadAppSettings("SqlServer:UserId")};Password={AppHelper.ReadAppSettings("SqlServer:Password")};";public static DataTable Query(string sql){try{using (SqlConnection conn = new SqlConnection(sqlStr)){conn.Open();SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);DataTable dt = new DataTable();adapter.Fill(dt);return dt;}}catch (Exception ex){throw ex;}}}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779323.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3第二天(元素显示模式、图片背景设置)

1.元素显示模式 ①块元素 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等 特点: 1.独占一行 2.高、宽、外边距、内边距可控制 3.宽度默认是父级容器宽度的100% 4.里面放行内或块级元素 注意:文字类元素内不能使用块级元素 <p>、…

CSS3(元素显示模式)

1.元素显示模式 ①块元素 <h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等 特点: 1.独占一行 2.高、宽、外边距、内边距可控制 3.宽度默认是父级容器宽度的100% 4.里面放行内或块级元素 注意:文字类元素内不能使用块级元素 <p>、…

【Redis】

一、Redis概述 1. Redis简介 1.1 简介 Redis(Remote Dictionary Server)是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。性能极高:Redis 以其极高的性能而著称,能够支持每秒数十万次的…

ASP.NET Core 鉴权授权四(自定义Session)

实体模型 public class BaseModel {public int Id { get; set;} } public class Authorization : BaseModel {public string Route { get; set; }public string AuthorizationName { get; set; } } public class User : BaseModel {public string UserName { get; set; }public…

如何利用 LNMP 搭建 WordPress 站点

在这个信息爆炸的时代,拥有一个能够迅速传达信息、展示个性、并能够与世界互动的在线平台,已成为企业和个人的基本需求。WordPress,以其无与伦比的易用性和强大的扩展性,成为了构建此类平台的首选工具。而LNMP,这个由Linux、Nginx、MySQL和PHP组成的强大组合,为WordPress…

Jmeter常见设置,启动默认设置为中文

1、设置启动Jmeter后显示内容语言为中文 未配置时打开Jmeter查看页面可手动设置语言为中文这种设置不好的地方在于每次重新启动后都需要设置一般有点烦 可以用另一种方法解决:修改jmeter.properties文件的配置 打开jmeter的目录,文件位于jmeter的bin目录下 打开文件后,增加l…

域名被墙如何查询检测?

在当今数字化的时代,域名是网站的重要标识,是用户访问网站的入口。然而,有时候域名可能会遭遇被墙的情况,这给网站所有者和用户带来了极大的困扰。 首先,我们需要了解什么是域名被墙。域名被墙,通常是指域名在国内无法正常访问,而在国外可以访问。这种情况可能是由于网站…

鸿蒙应用开发——更改应用的图标和名字

鸿蒙应用开发——更改应用的图标和名字鸿蒙应用开发——更改应用的图标和名字 一、更换应用默认图标 路径是AppScope/resources/base/media/app_icon.png 二、更改应用名字 路径是AppScope/resources/base/element/string.json"string": [{"name": "a…

EF Core连接PostgreSQL数据库

本文介绍了如何使用EF Core连接PostgreSQL数据库。PostgreSQL数据库介绍 PostgreSQL是一个功能强大的开源对象关系型数据库管理系统(RDBMS)。最初于1986年在加州大学伯克利分校的POSTGRES项目中诞生,PostgreSQL以其稳定性、灵活性和扩展性而著称。它支持丰富的数据类型、复杂…

js文字无限循环向上滚动轮播

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet"><title>滚动…

使用W外链平台免费创建活码+客服码

在当今数字化时代,无论是企业营销、个人品牌建设还是日常交流互动,线上工具的灵活运用都显得尤为重要。其中,外链平台作为连接不同网络空间的桥梁,其重要性不言而喻。今天,我们将深入探讨如何利用W外链平台这一强大工具,免费创建活码与客服码,以优化用户体验,提升运营效…

Django请求和响应

1. 请求获取请求方式 GET/POSTprint(requset.method) 通过url传递值 /something?n1=1234&n2=456print(requset.GET) 通过请求体获取数据print(requset.POST)【注】:获取的请求方式和传递的值和数据,可在终端后台看见2. 响应HttpResponse("返回内容") 将字符串…