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
Utilizzare DeepSeek R1 con Azure AI
Il nuovo controllo Range di Blazor 9
Utilizzare gRPC su App Service di Azure
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Anonimizzare i dati sensibili nei log di Azure Front Door
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Path addizionali per gli asset in ASP.NET Core MVC
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Utilizzare Azure AI Studio per testare i modelli AI
Creare agenti facilmente con Azure AI Agent Service