CloudConfigurationManager GetSettingメソッドを呼び出してパフォーマンスが低下したかどうかを誰かが知っていますか?たとえば、Azureファイルを再解析しますか、それともキャッシュされますか?接続文字列のようによく呼ばれるもののパフォーマンスを向上させるために、独自のキャッシング/静的変数を追加する必要があるかどうかはわかりません。
ありがとう
ソースはgithubで入手できます。
ソースを見ると、キャッシュが実行されていないことがわかります。したがって、パフォーマンスの問題が発生している場合は、独自のキャッシュを実装することをお勧めします。
の本文はGetSetting
単純なリターンを示しています。
value = GetValue("ServiceRuntime", name, GetServiceRuntimeSetting);
if (value == null)
{
value = GetValue("ConfigurationManager", name, n => ConfigurationManager.AppSettings[n]);
}
return value;
受け入れられた答えは正しくない可能性があります。
それCloudConfigurationManager
自体がキャッシュしないのは事実ですが、それは、値をキャッシュConfigurationManager
するまたはWebConfigurationManager
に内部的に委任するためです。
MSDNから:
<appSettings>
およびについて<connectionStrings>
は、AppSettingsプロパティとConnectionStringsプロパティを使用します。これらのメソッドは読み取り専用操作を実行し、構成の単一のキャッシュインスタンスを使用し、マルチスレッドに対応しています。
そのため、直接アクセスする場合でもCloudConfigurationManager
、おそらくIO操作は発生しません。
いいえ、パフォーマンスを向上させるために独自のキャッシュを作成する必要があることを示唆したため、キャッシュされません。