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
Migliorare la sicurezza dei prompt con Azure AI Studio
Generare una User Delegation SAS in .NET per Azure Blob Storage
Proteggere le risorse Azure con private link e private endpoints
Aggiornare a .NET 9 su Azure App Service
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Testare l'invio dei messaggi con Event Hubs Data Explorer
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare gRPC su App Service di Azure
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Disabilitare le run concorrenti di una pipeline di Azure DevOps
.NET Conference Italia 2024