C# 静态ConfigurationManager访问类操作
我正在考虑创建一个静态类来处理我的所有Web.config appSettings访问。例如,它看起来是这样的:C# 静态ConfigurationManager访问类操作,c#,.net,class,static,configurationmanager,C#,.net,Class,Static,Configurationmanager,我正在考虑创建一个静态类来处理我的所有Web.config appSettings访问。例如,它看起来是这样的: public static class ConfigManager { public static string Timeout = ConfigurationManager.AppSettings["Timeout"]; public static string Version = ConfigurationManager.AppSettings["Version"];
public static class ConfigManager
{
public static string Timeout = ConfigurationManager.AppSettings["Timeout"];
public static string Version = ConfigurationManager.AppSettings["Version"];
}
我相信,如果我将来想更改应用程序设置中的键,这将为我提供一个更改应用程序设置中键的中心位置,并为我的应用程序中的所有配置设置提供intellisense
我的问题是这将如何运作,因为我不知道如何静态引擎盖下的工作。我的希望是,当我第一次访问其中一个属性时,所有属性都将从配置中读取并放在内存中,然后所有后续的点击都将进入内存,而不是查看配置。不幸的是,这意味着对配置的运行时更改不会生效。我还认为可能只有我正在查看的属性才会被加载,或者每次我访问任何属性时,它们都会被加载
有人知道从configs读取静态属性的组合在后台的行为吗?静态意味着内存中只有该类或变量的一个实例 由于您选择了静态类,因此在调用静态构造函数时,赋值将设置一次值。这将在第一次使用该类时发生 在此之后,无论何时访问变量,它都将从内存中提取值 如果您担心能够在运行时更改值,那么可以使用一个属性,然后实现一个缓存策略,在给定的时间间隔刷新该属性