asp.net core 如何在Controller获取配置文件的值
2024-10-14 19:39:37
场景:我们会把一些配置信息,写在配置文件文件中,便于我们修改和配置。在之前的asp.net 中可以通过ConfigurationManger来获取web.config里面的配置。在.net core 如何操作配置信息。
我们借助“Options Pattern” 的思想来解决在配置文件的获取。
我有一个配置文件appsetting.json内容如下:
{
"ConnectionStrings": {
"MySql": "Server=localhost;database=blog;uid=root;pwd=Password12!;"
},
"FileServers": [
{
"Host": "127.0.0.1",
"Port": ""
},
{
"Host": "127.0.0.1",
"Port": ""
}
],
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
现在要获取FileServers节点下面的信息,显然是一个数组或者集合,总之是多个值。
我们在项目的启动时候火读取appsetting.json文件的内容,此时,可以将我们需要的内容通过IOptions注入到容器中,当我们需要用到这些配置信息的时候再去容器里面获取:
直接上代码 在Startup里面中:
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
// services.AddOptions().Configure<FormatOptions>(Configuration.GetSection("Format"));
///using "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0"
services.AddOptions().Configure<List<FileServerModel>>(Configuration.GetSection("FileServers"));
}
在HomeController 里面 修改构造函数 获取IOptions里面的值:
public List<FileServerModel> FileServers { set; get; } public HomeController(IOptions<List<FileServerModel>> options)
{
FileServers = options.Value;
}
这样appsetting.json里面的值就可以获取到了。
最新文章
- Function类型
- AFNetworking+Python+Flask+pyOpenSSL构建iOS HTTPS客户端&;服务器端
- 模拟淘宝登录和购物车功能:使用cookie记录登录名,下次登录时能够记得上次的登录名,使用cookie模拟购物车功能,使用session记住登录信息并验证是否登录,防止利用url打开网站,并实现退出登录功能
- JQuery增删改查
- [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型
- Java IO5:序列化与反序列化
- sqlite数据库方言配置
- 使用Ramdisk 加速 Visualstudio 编译调试
- 关于Java的对象、数组、String类的具体用法
- 针对Oracle数据库中SCOTT方案的多表查询一个例子
- 第三章	JavaScript操作BOM对象
- linux 用户密码过期时间
- js 模拟css3 动画
- eclipse打断点调试进入到class文件中,不显示变量值的解决办法汇总
- Luogu 1351 NOIP 2014 联合权值(贪心,计数原理)
- Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题
- python 3 操作mysql数据库的方法
- [原]NGUI之按钮置灰
- web09 struts2配置 struts2入门
- Win7 开启显示快速启动工具栏,发送到快速启动右键菜单
热门文章
- dubox首次调用消费者执行两次问题
- BZOJ 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式 [后缀数组]
- dubbox 的各种管理和监管
- [LeetCode] Reverse Words in a String II 翻转字符串中的单词之二
- MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)
- mac 多php版本安装
- 关于EventSource的精华
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
- 解决vs崩溃 无法打开工程 新建工程显示未找到约束
- Android基础总结(五)