12

CloudConfigurationManager GetSettingメソッドを呼び出してパフォーマンスが低下したかどうかを誰かが知っていますか?たとえば、Azureファイルを再解析しますか、それともキャッシュされますか?接続文字列のようによく呼ばれるもののパフォーマンスを向上させるために、独自のキャッシング/静的変数を追加する必要があるかどうかはわかりません。

ありがとう

4

3 に答える 3

11

ソースはgithubで入手できます。

ソースを見ると、キャッシュが実行されていないことがわかります。したがって、パフォーマンスの問題が発生している場合は、独自のキャッシュを実装することをお勧めします。

の本文はGetSetting単純なリターンを示しています。

value = GetValue("ServiceRuntime", name, GetServiceRuntimeSetting);

if (value == null)
{
    value = GetValue("ConfigurationManager", name, n => ConfigurationManager.AppSettings[n]);
}

return value;
于 2012-11-25T07:47:35.383 に答える
4

受け入れられた答えは正しくない可能性があります。

それCloudConfigurationManager自体がキャッシュしないのは事実ですが、それは、値をキャッシュConfigurationManagerするまたはWebConfigurationManagerに内部的に委任するためです。

MSDNから:

<appSettings>およびについて<connectionStrings>は、AppSettingsプロパティとConnectionStringsプロパティを使用します。これらのメソッドは読み取り専用操作を実行し、構成の単一のキャッシュインスタンスを使用し、マルチスレッドに対応しています。

そのため、直接アクセスする場合でもCloudConfigurationManager、おそらくIO操作は発生しません。

于 2017-03-15T23:49:48.450 に答える
1

いいえ、パフォーマンスを向上させるために独自のキャッシュを作成する必要があることを示唆したため、キャッシュされません。

于 2012-11-26T18:34:18.190 に答える