ASP.NET Core 类库中取读配置文件

在程序中经常遇到读取指定Json文件的内容,并把其转换成指定的Model对象,应该如何做呢?

首先要创建需要转换的Model类。

转换方法如下:

         public static T GetAppSettings<T>(string fileName, string key) where T : class, new()
        {
            // 获取bin目录路径
            var directory = AppContext.BaseDirectory;
            directory = directory.Replace("\\", "/");

            var filePath = $"{directory}/{fileName}";
            if (!File.Exists(filePath))
            {
                var length = directory.IndexOf("/bin");
                filePath = $"{directory.Substring(0, length)}/{fileName}";
            }

            IConfiguration configuration;
            var builder = new ConfigurationBuilder();

            builder.AddJsonFile(filePath, false, true);
            configuration = builder.Build();

            var appconfig = new ServiceCollection()
                .AddOptions()
                .Configure<T>(configuration.GetSection(key))
                .BuildServiceProvider()
                .GetService<IOptions<T>>()
                .Value;

            return appconfig;
        }

  上面的方法是给定bin目录下指定的json文件名和指定的Key,然后就可以把指定Key下面的Json内容转换成指定的Model对象。

posted @ 2019-11-21 16:16  wu9xia  阅读(200)  评论(0编辑  收藏  举报