using Microsoft.Extensions.Configuration; using Newtonsoft.Json.Linq; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Text; namespace SlnMesnac.Config { public class AppsettingsConfig { private IConfiguration _configuration; public AppsettingsConfig() { // 创建ConfigurationBuilder对象 var builder = new ConfigurationBuilder(); // 设置appsettings.json文件的路径 builder.SetBasePath(System.IO.Directory.GetCurrentDirectory()) // 如果appsettings.json不在当前目录下,需要修改路径 .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); // 构建IConfiguration对象 _configuration = builder.Build(); } public string ReadAppSettings(string session) { // 读取配置信息 //_configuration.GetSection("AppConfig:OKCount").Value.ToString(); return _configuration.GetSection(session).Value.ToString(); } public bool WriteAppSettings(string session,string key, string value) { string contentPath = System.IO.Directory.GetCurrentDirectory() + @"\"; ; //项目根目录 var filePath = contentPath + "appsettings.json"; JObject jsonObject; using (StreamReader file = new StreamReader(filePath)) using (JsonTextReader reader = new JsonTextReader(file)) { jsonObject = (JObject)JToken.ReadFrom(reader); jsonObject[session][key] = value; } using (var writer = new StreamWriter(filePath)) using (JsonTextWriter jsonwriter = new JsonTextWriter(writer)) { jsonObject.WriteTo(jsonwriter); } return true; } } }