Un ruolo sviluppato per Windows Azure, sia esso web o worker, è una normale applicazione .NET che svolge le sue attività in the cloud. La principale differenza rispetto alle applicazioni tradizionali risiede nell'uso dei servizi di storage, affiancati a SQL Azure, che permettono di memorizzare file, dati in forma tabellare o utilizzare code.
Come da sempre è possibile fare con il .NET Framework, i file app.config o web.config permettono di inserire configurazioni da leggere con la classe ConfigurationManager. Questi file però fanno parte del pacchetto di deployment e ogni alterazione richiede una pubblicazione. Il file ServiceConfiguration.cscfg è facilmente editabile dal portale Windows Azure e permette quindi un facile cambiamento dei comportamenti della propria applicazione.
Per usare questo file è necessario prima di tutto modificare il file ServiceDefinition.csdef che contiene già le definizioni dei role dell'applicazione, uno dei quali ha una sezione ConfigurationSettings. In essa si definiscono i nomi delle chiavi che si prevedono di usare:
<ServiceDefinition name="CloudService4" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition"> <WorkerRole name="TestRole"> <ConfigurationSettings> <Setting name="test" /> </ConfigurationSettings> </WorkerRole> </ServiceDefinition>
Nel file ServiceConfiguration.cscfg si inserisce nell'omonima sezione il valore della chiave che verrà incluso nel deployment:
<ServiceConfiguration serviceName="CloudService4" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration"> <Role name="TestRole"> <Instances count="1" /> <ConfigurationSettings> <Setting name="test" value="value" /> </ConfigurationSettings> </Role> </ServiceConfiguration>
E' possibile modificare la configurazione anche tramite Visual Studio, aprendo il ruolo di proprio interesse ed entrando nella sezione "Settings".

Successivamente è possibile leggere il valore della configurazione corrente attraverso la classe statica RoleEnvironment, come nell'esempio seguente:
// Il valore è una stringa string value = RoleEnvironment.GetConfigurationSettingValue("test");
E' bene precisare che le successive modifiche non subiranno alcun effetto nell'applicazione a meno di aver previsto tali cambiamenti, tematica del prossimo script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare gruppi di client per Event Grid MQTT
Utilizzare Azure Cosmos DB con i vettori
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Aggiornare a .NET 9 su Azure App Service
Supportare la sessione affinity di Azure App Service con Application Gateway
Configurare e gestire sidecar container in Azure App Service
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Path addizionali per gli asset in ASP.NET Core MVC
Gestire i dati con Azure Cosmos DB Data Explorer
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Sfruttare al massimo i topic space di Event Grid MQTT
Migrare una service connection a workload identity federation in Azure DevOps