asp.net-mvc - ASP.NET Core 在工作时会读取多少次 appsettings.json 文件?
问题描述
在阅读了这篇关于从 appsettings.json 文件中读取应用程序设置和配置的好文章后,我对 appsettings.json 将被读取多少次感到有点困惑?
这是 Startup 类,当应用程序开始工作时第一次阅读它(我想,如果我错了,请纠正我)。
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
...
在控制器上:
public class HomeController : Controller
{
private readonly IConfiguration _config;
public HomeController(IConfiguration config)
{
_config = config;
}
...
问题是 appsettings.json 会在 Start 类上被读取一次,还是每次我们使用 HomeController 时都会被读取?
因为它是一个文件,我正在询问 HDD 上物理文件的读取计数。
解决方案
这取决于。JSON 文件将在启动时读取一次IConfiguration
。
但是,如果配置设置为在更改时刷新,那么如果在运行时对文件进行更改,它将被重新读取。
每次IConfiguration
注入,JSON文件都不会被重读。
ASP.NET Core 中的参考配置
那就是说。理想情况下,您不应该到处注射IConfiguration
。它有时被视为一种代码气味。选项模式通常是建议的方法
ASP.NET Core 中的参考选项模式
文档中的这个特定位置应该很有趣,因为它侧重于AddJsonFile
设置配置时框架自动调用的次数
推荐阅读
- f# - 是否可以编写一个将文件(SFTP)传输到远程服务器并在该服务器上运行一些 docker 命令的 FAKE 构建脚本?
- amazon-dynamodb - Flink 运动连接器 - KCL
- mysql - SQL查询以分组方式查找最大值的行
- sql - 什么类型的 sql db 可以在一列中存储声音或数组数据?
- caching - Hapi js客户端缓存
- javascript - VS 代码得到假错误?
- php - 在 codeigniter 控制器中从 CURL 读取返回的 JSON
- strapi - 内容管理器上的新帖子未触发 Strapi 服务“创建”
- https - 使用 https://localhost url 时 lighthouse-ci 一直失败
- node.js - 使用 React、NodeJS 和 Postgres:无法在没有 404 的情况下删除