当前第2页 返回上一页
所以我们从这里可以看出添加JSON文件的方法除了通过扩展方法来实现外还有直接实例化JsonConfigurationSource来实现,如下:
1 2 3 4 5 | IConfiguration config = new ConfigurationBuilder()
.SetBasePath(currentClassDir)
.AddJsonFile( "appsettings.json" , false , true )
.Add( new JsonConfigurationSource { Path = "appsettings.json" , Optional = false , ReloadOnChange = true })
.Build();
|
上述添加JSON文件皆可,我发现添加JSON文件必须设置JSON文件所在的目录即必须首先要设置SetBasePath方法,否则会报如下错误:

我们搞个测试JSON文件放在当前项目(StudyEFCore.Data)中如下:

最终读取类库项目JSON配置文件,将其封装起来就成了如下这个样子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public class JsonConfigurationHelper
{
public T GetAppSettings<T>( string key) where T : class , new ()
{
var baseDir = AppContext.BaseDirectory;
var indexSrc = baseDir.IndexOf( "src" );
var subToSrc = baseDir.Substring(0, indexSrc);
var currentClassDir = subToSrc + "src" + Path.DirectorySeparatorChar + "StutdyEFCore.Data" ;
IConfiguration config = new ConfigurationBuilder()
.SetBasePath(currentClassDir)
.Add( new JsonConfigurationSource { Path = "appsettings.json" , Optional = false , ReloadOnChange = true })
.Build();
var appconfig = new ServiceCollection()
.AddOptions()
.Configure<T>(config.GetSection(key))
.BuildServiceProvider()
.GetService<IOptions<T>>()
.Value;
return appconfig;
}
}
|
由上有一个还未解决的问题就是如何得到当前类库项目的路径,没有想到一个好的法子,不知看到此文的你有何高见。简短的调用则是如下:
1 2 3 4 | var config = new JsonConfigurationHelper();
var person = config.GetAppSettings<Person>( "JeffckySettings" );
var name = person.Name;
var age = person.Age;
|
结果如下:

我们将其类修改为ConfigurationManager,然后将其GetAppSettings方法定义为静态方法,最后如下调用是不是满足了在.net core之前读取web.config中配置数据的问题。哈哈哈:
1 | var person = ConfigurationManager.GetAppSettings<Person>( "JeffckySettings" );
|
总结
以上就是ASP.NET Core类库项目中如何实现读取配置文件的详解的详细内容!
返回前面的内容
相关阅读 >>
asp.net完成图形验证码的的代码教程
asp.net core如何安装?详解asp.net core安装的实例教程
asp.net使用x509certificate2出现的一些问题的解决方法分享(图)
使用asp.net中mvc引擎开发插件系统的示例详解
asp.net 通过ajax实现无刷新分页
asp.net实现生成缩略图及加水印的方法示例
用signair和push.js完成消息推送代码详解
关于操作 asp.net web api的实例
分享asp.net学习笔记(10)webpages email
asp.net控制文件上传的大小方法(超简单)_实用技巧
更多相关阅读请进入《asp.net》频道 >>
清华大学出版社
作者:[美]克里斯琴·内格尔(Christian Nagel)著。出版时间:2019年3月。
转载请注明出处:木庄网络博客 » ASP.NET Core类库项目中如何实现读取配置文件的详解