.Net Core如何在任意位置获取配置文件的内容
前几天群里有人问,我想在程序里的任意位置读取appsetting.json里的配置,该怎么搞。
话不多说上源码
首先,要想读取配置文件我们要用到IConfiguration 接口,这个接口在Startup类的最上面在程序启动的时候就会注入。
我们定义一个静态类,在静态类中声明一个IConfiguration类型的静态字段。
public class ConfigHelper
{
//private static IConfiguration configs;
public static IConfiguration Configs;
public static TVal GetValue<TVal>(string key)
{
var res = Utility.Parse<TVal>(Configs[key]);
return (TVal)Convert.ChangeType(res.ToString(),typeof(TVal)); }
}
写好这个类之后,我们要在startup类中把我们的IConfiguration字段进行赋值。

这样,我们就可以在程序中的任意位置获取到appsetting中的配置了
例子:这样就可以获取到配置文件中LockTIme的值
var res= ConfigHelper.GetValue<int>("LockTime");
三、HttpContext中获取服务
群里的旁友提醒我没写这个,特意补上
在Web项目中,例如控制器中使用HttpContext也可以获取到已注入的服务
HttpContext.RequestServices.GetService
.Net Core如何在任意位置获取配置文件的内容的更多相关文章
- .net core —— 控制台如何获取配置文件的内容?
本文链接:https://blog.csdn.net/yenange/article/details/82457761参考: https://github.com/liuzhenyulive/Json ...
- 在任意位置获取应用程序CONTEXT
Android程序中访问资源时需要提供Context,一般来说只有在各种component中(Activity, Provider等等)才能方便的使用api来获取Context, 而在某些工具类中要获 ...
- 通过spring,在项目的任意位置获取当前Request
需要引入: import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.R ...
- Spring 中任意位置获取 session 和 request
在web.xml中添加监听: <listener> <listener-class>org.springframework.web.context.ContextLoaderL ...
- phpcms 任意位置获取用户头像
主要拿到userid $_username = param::get_cookie('_username');//当前登录人用户名 $_userid = param::get_cookie('_use ...
- netcore获取配置文件的内容
结合了好几个哥们的写法,最终我使用了这个版本,现在把我这个版本的写出来,如果该版本和您的版本类似或者一样,那可能是借鉴您的 using Microsoft.AspNetCore.Hosting; us ...
- Spring Boot使用@Value注解获取配置文件中的属性
获取配置文件的内容——
- .Net core 在类库中获取配置文件Appsettings中的值
大多数情况,我们开发的程序中都含有很多个类库和文件夹,有时候,我们会遇到程序中的类库需要获取配置文件的信息的情况. 像dapper 中需要使用连接字符串的时候,那么我们一直从主程序中传值这是个不好的方 ...
- 一个I/O线程可以并发处理N个客户端连接和读写操作 I/O复用模型 基于Buf操作NIO可以读取任意位置的数据 Channel中读取数据到Buffer中或将数据 Buffer 中写入到 Channel 事件驱动消息通知观察者模式
Tomcat那些事儿 https://mp.weixin.qq.com/s?__biz=MzI3MTEwODc5Ng==&mid=2650860016&idx=2&sn=549 ...
随机推荐
- 属性只有一个值的这类 html 属性是怎么回事,该如何设置值;比如:checked = “checked” vs checked = true
参考链接:https://stackoverflow.com/questions/10650233/checked-checked-vs-checked-true 问: What is the dif ...
- 给Docker武士们的正式邀请,赶紧收哦!
亲爱的Docker武士,Docker大师们喊你来参加Docker的定期聚啦~收好时间.地点,快来相见.切磋Docker吧!5月17日,微软上海港汇办公室,我们与你不见不散! 点击阅读原文,或直接进入注 ...
- Timeout occurred while waiting for latch: class 'COLUMNSTORE_ROWGROUP_COLLECTION'
今天发现线上数据库主从延迟严重: SELECT ag.name AS ag_name, ar.replica_server_name AS ag_replica_server, dr_state.da ...
- redis集群搭建与管理
集群简介: Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation). Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令 ...
- 对sql作业的总结(不用group by 通过with as,exists实现分类)
一次数据库作业 题目如下: Consider the following SQL table definitions: CREATE TABLE OlympicEvent ( Name text, Y ...
- centos7下搭建sphinx全文检索引擎
Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用 程序更容易实现专业化的全文检索.Sphinx特别为一些 ...
- yii2.0的gradview点击按钮通过get方式传参
1.直接看views层里的代码就可以了 , <!--?= GridView::widget([ 'dataProvider' =--> $dataProvider, 'filterMode ...
- 如何在SAP C4C里使用ABSL消费第三方Restful API
首先我们得有一个可以正常工作的Restful API: 然后在Cloud for Customer的Cloud Application Studio里创建Restful API的模型,把第一步可以正常 ...
- Django 创建model的一些注意事项
自增主键字段¶ 默认情况下,Django 会给每个模型添加下面这个字段: id = models.AutoField(primary_key=True) 这是一个自增主键字段. 如果你想指定一个自定义 ...
- 关于mvvm:UI、数据、绑定、状态、中间变量、数据适配、数据处理
绑定: UI控件 --> VM VM -> UI控件 关于mvvm:UI.数据.绑定.状态.中间变量.数据适配.数据处理: https://github.com/zzf073/Log ...