Azure: possiamo controllare se un'impostazione esiste prima di provare a leggerlo?
-
14-11-2019 - |
Domanda
Attualmente uso RoleEnvironment.GetConfigurationSettingValue(propertyName)
per ottenere il valore di un'impostazione definita nel mio file di configurazione del webrole (CSDEF + CSCFG).OK, suona bene.
funziona bene se l'impostazione esiste ma non è riuscita con un'eccezione se l'impostazione non è definita nel CSDEF e nel CSCFG.
Sto migrando un'app esistente per Azure che ha molte impostazioni di configurazione in Web.config.Nel mio codice, per leggere un valore di impostazione, mi piace testare: se esiste nel webrole config (csdef + cscfg) l'ho letto da qui, altrimenti l'ho letto con ConfigurationManager da Web.config. Ciò impedirebbe di migrare tutte le impostazioni dal mio Web.Config e consentire a quella personalizzata quando l'app è già distribuita.
C'è un modo per farlo?
Non voglio incapsulare il GetConfigurationSettingValue
in una prova / cattura (e leggere da Web.config se entri nel fermo) perché è davvero un modo brutto (e per lo più non è efficace per le prestazioni!).
Grazie!
Soluzione
Aggiornamento per 1.7 Azure SDK. La classe CloudConfigurationManager è stata introdotta. Permette una singola chiamata GetSotting per guardare prima nel tuo CSCFG e poi torna a Web.config se la chiave non viene trovata.
http://msdn.microsoft.com/en-us/library/jj157248