当前位置: 首页> 文旅> 艺术 > 天津网站建设制作品牌公司_木渎网站制作_广告投放网站_站长之家ping

天津网站建设制作品牌公司_木渎网站制作_广告投放网站_站长之家ping

时间:2025/8/23 19:33:38来源:https://blog.csdn.net/czjnoe/article/details/146029610 浏览次数:0次
天津网站建设制作品牌公司_木渎网站制作_广告投放网站_站长之家ping

AppSettingsHelper:

using Newtonsoft.Json.Linq;
using System;
using System.IO;public class AppSettingsHelper
{private static JObject _appSettings;static AppSettingsHelper(){try{// 获取 appsettings.json 文件的路径var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "appsettings.json");// 检查文件是否存在if (!File.Exists(filePath)){throw new FileNotFoundException("appsettings.json file not found!");}// 读取文件内容并解析为 JObjectvar json = File.ReadAllText(filePath);_appSettings = JObject.Parse(json);}catch (Exception ex){throw new Exception($"Error loading appsettings.json: {ex.Message}");}}/// <summary>/// 获取指定键的值/// </summary>/// <param name="keyPath">键路径,例如 "AppSettings:Setting1"</param>/// <param name="defaultValue">默认值(可选)</param>/// <returns>键对应的值,如果键不存在则返回默认值</returns>public static string GetSetting(string keyPath, string defaultValue = null){if (_appSettings == null){throw new Exception("appsettings.json is not loaded.");}// 分割键路径var keys = keyPath.Split(':');JToken token = _appSettings;// 逐级查找键foreach (var key in keys){token = token[key];if (token == null){throw new Exception($"Key '{key}' in path '{keyPath}' not found.");}}return token.ToString();}/// <summary>/// 获取指定键的值并转换为指定类型/// </summary>/// <typeparam name="T">目标类型</typeparam>/// <param name="keyPath">键路径,例如 "AppSettings:Setting1"</param>/// <param name="defaultValue">默认值(可选)</param>/// <returns>键对应的值,如果键不存在则返回默认值</returns>public static T GetSetting<T>(string keyPath, T defaultValue = default){if (_appSettings == null){throw new Exception("appsettings.json is not loaded.");}// 分割键路径var keys = keyPath.Split(':');JToken token = _appSettings;// 逐级查找键foreach (var key in keys){token = token[key];if (token == null){throw new Exception($"Key '{key}' in path '{keyPath}' not found.");}}return token.ToObject<T>();}
}

appsettings.json:

{"ConnectionStrings": {"DefaultConnection": "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;"},"AppSettings": {"Setting1": "Value1","Setting2": "Value2"}
}

output:

 class Program{static void Main(string[] args){// 读取字符串类型的配置var setting1 = AppSettingsHelper.GetSetting("AppSettings:Setting1");Console.WriteLine($"Setting1: {setting1}");// 读取连接字符串var connectionString = AppSettingsHelper.GetSetting("ConnectionStrings:DefaultConnection");Console.WriteLine($"DefaultConnection: {connectionString}");// 读取并转换为特定类型(如果需要)var setting2 = AppSettingsHelper.GetSetting<string>("AppSettings:Setting2");Console.WriteLine($"Setting2: {setting2}");Console.ReadKey();}}

关键字:天津网站建设制作品牌公司_木渎网站制作_广告投放网站_站长之家ping

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: