Azure Storage Configuration Setting

Come spiegato nel mio precedente post, il luogo migliore dove posizionare i setting applicativi è sicuramente ServiceConfiguration.cscfg.

Lavorando con le classi di storage, si può notare come la classe CloudStorageAccount abbia il metodo statico FromConfigurationSetting.
Ci si potrebbe aspettare che esso ricavi la connection string dai file ServiceDefinition/ServiceConfiguration, ma così non è. Come suggerisce MSDN, prima di chiamare questo metodo è necessario chiamare il metodo SetConfigurationServicePublisher. Tale metodo è responsabile di definire le modalità con cui recuperare i setting.

In ambiente could è quindi prassi scrivere:

CloudStorageAccount.SetConfigurationSettingPublisher(
   (key, setter) => { setter(RoleEnvironment.GetConfigurationSettingValue(key)); }
);

In pratica si sta dicendo che, data una chiave, viene impostato nel dizionario key-value il valore che si recupera dalle setting presenti in ServiceConfiguration.

Perchè tutto questo? semplicemente perchè le api di CloudStorage non vengono eseguite esclusivamente da role hostati in windows azure, ma possono essere utilizzate anche in semplici applicazioni desktop o web.
In quest’ultimo caso è possibile recuperare le setting da app.config o web.config (o da database, da isolated storage, da xml…):

CloudStorageAccount.SetConfigurationSettingPublisher(
   (key, setter) => { setter(ConfigurationManager.AppSettings[key]); }
);

, ,

  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: