gpt4 book ai didi

c# - 静态 ConfigurationManager 访问类操作

转载 作者:行者123 更新时间:2023-11-30 12:34:18 24 4
gpt4 key购买 nike

我正在考虑创建一个静态类来处理我所有的 Web.config appSettings 访问。例如,它看起来像这样:

public static class ConfigManager
{
public static string Timeout = ConfigurationManager.AppSettings["Timeout"];

public static string Version = ConfigurationManager.AppSettings["Version"];
}

我相信,如果我想在未来更改应用程序设置中的 key ,这会给我一个中心位置来更改应用程序设置中的 key ,并且会为我的应用程序中的所有配置设置提供智能感知。

我的问题是这将如何运作,因为我不确定 static 在底层是如何工作的。我希望我第一次访问其中一个属性时,所有属性都将从配置中读取并放入内存中,然后所有后续点击都将进入内存而不是查看配置。不幸的是,这意味着对配置的运行时更改不会生效。我还认为可能只有我正在查看的属性会被加载,或者每次我访问任何属性时它们都会被加载。

有谁知道从配置中读取静态属性的组合在幕后会如何表现?

最佳答案

静态意味着内存中只有一个类或变量的实例。

由于您选择了一个静态类,因此在调用静态构造函数时,这些值将通过您的赋值设置一次。这将在第一次使用该类时发生。

此后任何时候您访问该变量,它都会从内存中提取值。

如果您担心能够在运行时更改值,您可以改用一个属性,然后实现一个缓存策略,该策略将在给定的时间间隔刷新该属性。

关于c# - 静态 ConfigurationManager 访问类操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com