2015-04-15 11 views
10

In un sito web Azure ero sempre utilizzando il seguente codice per recuperare alcuni valori dalle impostazioni app del config:CloudConfigurationManager vs WebConfigurationManager?

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

Solo un paio di giorni fa ho stublemd su CloudConfigurationManager, e con essa posso ottenere la proprietà come così:

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

Anche se CloudConfigurationManager sembra che sia più adatto al cloud uso, non ho mai avuto problemi con WebConfigurationManager.

  • Devo utilizzare CloudConfigurationManager?
  • Quali sono le differenze tra i due?
  • In quali casi CloudConfigurationManager si comporta diversamente da
    WebConfigurationManager?

risposta

11

CloudConfigurationManager ci permette di leggere file di configurazione indipendentemente dall'ambiente siamo in

Così, invece di ambiente di scrittura istruzioni di codice specifici, ad esempio, per il file web.config:.

WebConfigurationManager.AppSettings [ "MySetting"]

Per lima ServiceConfiguration.cscfg:

RoleEnvironment.GetConfigurationSettingValue ("MySetting")

Possiamo scrivere la dichiarazione seguente, che leggerà i valori da tutti i file di configurazione vale a dire, App.config web.config e ServiceConfiguration.cscfg.

CloudConfigurationManager.GetSetting ("MySetting")

1

WebConfigurationManager e CloudConfigurationManager gestire diversi file di configurazione.

WebConfigurationManager è per la gestione dei file web.config del sito web (s) ed è AppSettings e connessioni stringhe

CloudConfigurationManager è per la gestione dei file .cscfg (per i servizi cloud). Il suo vantaggio è che puoi gestire direttamente le configurazioni e le connessioni dal portale azzurro.

+0

Ma CloudConfigurationManager sta funzionando bene e dosare il lavoro di WebConfigurationManager - Il codice nella mia domanda funziona. –

+0

Sì, funziona anche secondo [msdn] (https://msdn.microsoft.com/en-us/library/microsoft.windowsazure.cloudconfigurationmanager.aspx), è una specie di logica "bonus". Pertanto, se si prevede di utilizzare solo Azure, è possibile utilizzarlo sia per le impostazioni web.config che cscfg, ma se si desidera passare da Azure, è necessario modificarlo. – Lanayx

1

CloudConfigurationManager richiede l'assembly Microsoft.WindowsAzure.Configuration, parte di Azure SDK o NuGet separato.

WebConfigurationManager richiede l'assembly System.Web.Configuration, parte di .NET Framework.

1

Penso che sia meglio usare WebConfigurationManager. Con esso, si ha accesso a ConnectionString e AppSettings. Entrambi i set di impostazioni che è possibile aggiornare tramite il portale di Azure. Possono quindi essere ulteriormente utilizzati in altre strutture/servizi di Azure, ad esempio durante la configurazione del backup del sito Web. Controlla questo per ulteriori informazioni: https://azure.microsoft.com/en-us/blog/windows-azure-web-sites-how-application-strings-and-connection-strings-work/

Problemi correlati