web-dev-qa-db-ja.com

CloudConfigurationManagerとWebConfigurationManager?

Azure Webサイトでは、常に次のコードを使用して、構成のアプリ設定からいくつかの値をフェッチしていました。

string property = WebConfigurationManager.AppSettings["property"];  

ほんの数日前、CloudConfigurationManagerに困惑しました。これを使用すると、次のようなプロパティを取得できます。

string property = CloudConfigurationManager.GetSetting("property"); 

CloudConfigurationManagerはクラウドの使用に適しているように見えますが、WebConfigurationManagerで問題が発生したことはありません。

  • CloudConfigurationManagerを使用する必要がありますか?
  • 2つの違いは何ですか?
  • どのような場合にCloudConfigurationManagerはとは異なる動作をします
    WebConfigurationManager?
14
Yaron Levi

CloudConfigurationManagerは、現在の環境に関係なく、構成ファイルを読み取ることができます。

したがって、web.configファイルなどの環境固有のコードステートメントを記述する代わりに、次のようにします。

WebConfigurationManager.AppSettings ["MySetting"]

ServiceConfiguration.cscfgファイルの場合:

RoleEnvironment.GetConfigurationSettingValue( "MySetting")

以下のステートメントを記述して、すべての構成ファイル(app.config、web.config、ServiceConfiguration.cscfg)から値を読み取ります。

CloudConfigurationManager.GetSetting( "MySetting")

17

CloudConfigurationManager Microsoft.WindowsAzure.Configurationアセンブリ、Azure SDKの一部、または個別のNuGetが必要です。

WebConfigurationManager .NETFrameworkの一部であるSystem.Web.ConfigurationAssemblyが必要です。

2
RaSi

WebConfigurationManagerおよびCloudConfigurationManagerさまざまな構成ファイルを管理します。

WebConfigurationManagerは、Webサイトのweb.configファイルとそのappsettingsおよびconnections文字列を管理するためのものです

CloudConfigurationManagerは.cscfgファイルを管理するためのものです(クラウドサービス用)。彼の利点は、Azureポータルから直接構成と接続を管理できることです。

1
Lanayx

WebConfigurationManagerを使用したほうがよいと思います。これを使用すると、ConnectionStringsとAppSettingsにアクセスできます。 AzurePortalを介して更新できる両方の設定セット。その後、Webサイトのバックアップを構成する場合など、他のAzure機能/サービスでさらに使用できます。詳細については、こちらをご覧ください: https://Azure.Microsoft.com/en-us/blog/windows-Azure-web-sites-how-application-strings-and-connection-strings-work/

1
Irwin