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
Configurare e gestire sidecar container in Azure App Service
Cambiare la chiave di partizionamento di Azure Cosmos DB
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Anonimizzare i dati sensibili nei log di Azure Front Door
Utilizzare gRPC su App Service di Azure
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Potenziare la ricerca su Cosmos DB con Full Text Search
Gestire i dati con Azure Cosmos DB Data Explorer
Utilizzare Copilot con Azure Cosmos DB
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Gestire gli accessi con Token su Azure Container Registry