ASP将读取多少次appsettings.json文件.NET核心何时工作



在阅读了这篇关于从appsettings.json文件中读取应用程序设置和配置的好文章后,我有点困惑appsettings.json会被读取多少次?

这是启动类,当应用程序开始工作时,第一次阅读它(我想,如果我错了,请纠正我(。

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上物理文件的读取计数。

这取决于情况。在填充IConfiguration时,JSON文件将在启动时读取一次。

但是,如果配置设置为在更改时刷新,那么如果在运行时对文件进行了更改,则会重新读取该配置。

每次注入IConfiguration时,JSON文件都不会被重新读取。

ASP。NET核心

话虽如此。理想情况下,你不应该到处注射IConfiguration。它有时被视为一种代码气味。期权模式通常是建议的方法

ASP中的参考选项模式。NET核心

文档中的这个特定位置应该很有趣,因为它关注的是在设置配置时框架自动调用AddJsonFile的次数

JSON配置提供程序

最新更新