微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 静态ConfigurationManager访问类操作

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

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

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

我相信如果我想在将来更改密钥,这将为我提供一个更改应用程序设置中密钥的中心位置,并为我的应用程序中的所有配置设置提供intellisense.

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

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

解决方法

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

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

任何时候你访问变量后,它将从内存中提取值.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐