aps.net mvc Razor读取wwwroot/configs文件夹下的所有 .json配置文件
using IdentityServer.Models; using System.Collections.Generic; namespace IdentityServer.Service { /// <summary> /// 获取模版数据 /// </summary> public class GetConfigData { private readonly IWebHostEnvironment _env; /// <summary> /// TemplateConfig 实体类文件 /// </summary> public List<TemplateConfig> Config { get; set; } /// <summary> /// 默认构造 /// </summary> public GetConfigData(IWebHostEnvironment env) { _env = env; } public List<TemplateConfig> GetTemplate() { // 组合文件路径 string configPath = Path.Combine( _env.WebRootPath, "configs" ); // 获取目录下所有的JSON文件 var jsonFiles = Directory.GetFiles(configPath, "*.json"); List<TemplateConfig> Configs = new List<TemplateConfig>(); // 遍历所有JSON文件并读取内容 foreach (var file in jsonFiles) { //读取文件内容 string jsonContent = File.ReadAllText(file); //反序列化为实体 var config = JsonConvert.DeserializeObject<TemplateConfig>(jsonContent); if (config != null) Configs.Add(config); } return Configs; } } }
在Razor页面模型中调用
using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.Extensions.Hosting; using System.IO; using System.Text.Json; public class YourPageModel : PageModel { public YourPageModel(IWebHostEnvironment env) { var data = new GetConfigData(env).GetTemplate(); } }