net6 webapi工程开发工具类
创始人
2024-06-03 09:43:04
0

文章目录

      • 将对象实例化成json文件
      • 获取应用程序所在目录的三种方式
      • 读取appsettings配置文件

将对象实例化成json文件

  1. 从NuGet上下载JSON .Net,安装到所需项目中,安装其它包也可以
  2. 创建文件
// 获取当前程序所在路径,并将要创建的文件命名为info.json 
string fp = System.Windows.Forms.Application.StartupPath + "\\info.json";
if (!File.Exists(fp))  // 判断是否已有相同文件
{FileStream fs1 = new FileStream(fp, FileMode.Create, FileAccess.ReadWrite);  fs1.Close();
}
  1. 序列化对象存储到json文件中
string fp = System.Windows.Forms.Application.StartupPath + "\\info.json";
File.WriteAllText(fp, JsonConvert.SerializeObject(obj));
  1. 从文件中读取对象信息(反序列化即可)
string fp = System.Windows.Forms.Application.StartupPath + "\\info.json";
Object obji = JsonConvert.DeserializeObject(File.ReadAllText(fp));  // 尖括号<>中填入对象的类名 
 

获取应用程序所在目录的三种方式

  1. 第一种
string basePath1 = AppContext.BaseDirectory;
// D:\后端项目\testCore\test.WebApi\bin\Debug\net6.0\
  1. 第二种
string basePath2 =Path.GetDirectoryName(typeof(Program).Assembly.Location);
// D:\后端项目\testCore\test.WebApi\bin\Debug\net6.0\
  1. 第三种:从ASP.NET Core RC2开始,可以通过依赖注入 IHostingEnvironment 服务对象来取得Web根目录和内容根目录的物理路径
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;namespace AspNetCorePathMapping
{public class HomeController : Controller{private readonly IHostingEnvironment _hostingEnvironment;public HomeController(IHostingEnvironment hostingEnvironment){_hostingEnvironment = hostingEnvironment;}public ActionResult Index(){string webRootPath = _hostingEnvironment.WebRootPath;string contentRootPath = _hostingEnvironment.ContentRootPath;// webRootPath: D:\后端项目\testCore\test.WebApi\wwwroot// contentRootPath: D:\后端项目\testCore\test.WebApireturn Content(webRootPath + "\n" + contentRootPath);}}
}

读取appsettings配置文件

  1. 首先,创建 ConfigHelper类
namespace TestProject.services
{public class ConfigHelper{private static IConfiguration _config;public ConfigHelper(IConfiguration configuration){_config = configuration;}/// /// 读取appsettings.json文件中指定节点信息/// /// /// public static string ReadAppSettings(params string[] sessions){try{if (sessions.Any()){return _config[string.Join(":",sessions)];}}catch{return "";}return "";}/// /// 读取实体信息/// /// /// /// public static List ReadAppSettings(params string[] session){List list = new List();_config.Bind(string.Join(":",session),list);return list;}}
}
  1. 然后在Program.cs中添加如下代码注入服务
var builder = WebApplication.CreateBuilder(args);IConfiguration configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();builder.Services.AddSingleton(new ConfigHelper(configuration));
  1. 在 appsettings.json中添加如下代码
{"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","Test": {"testStr1": "testvalue1","testStr2": "testvalue2"},
}
  1. 最后,可以在项目的任意地方读取配置文件数据
string str = ConfigHelper.ReadAppSettings("Test", "testStr1");
  1. 得到 str 的值为 testvalue1

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...