是否有人知道您是否在调用CloudConfigurationManager GetSetting方法时遇到了性能问题?例如,它是否重新解析azure文件还是缓存了?我不确定是否应该添加自己的缓存/静态变量来改善通常称为连接字符串的内容的性能。
由于
答案 0 :(得分:11)
source可在github上找到。
如果您查看源代码,可以看到它没有进行任何缓存,因此如果您看到性能问题,则可能需要实现自己的缓存。
GetSetting
的正文显示了一个简单的回报:
value = GetValue("ServiceRuntime", name, GetServiceRuntimeSetting);
if (value == null)
{
value = GetValue("ConfigurationManager", name, n => ConfigurationManager.AppSettings[n]);
}
return value;
答案 1 :(得分:2)
接受的答案可能不正确。
CloudConfigurationManager
本身不会缓存,但这是因为它内部委托给ConfigurationManager
或WebConfigurationManager
,执行缓存值强>
来自MSDN:
对于
<appSettings>
和<connectionStrings>
,您可以使用AppSettings和 ConnectionStrings属性。这些方法执行只读 操作,使用配置的单个缓存实例,并且是 多线程意识。
因此,即使您直接从CloudConfigurationManager
访问,很可能也不会发生IO操作。
答案 2 :(得分:1)
不,它没有缓存,因为您建议您必须创建自己的缓存以提高性能。