Le app sviluppate in ASP.NET Core dispongono di un nuovo sistema di lettura delle configurazioni che in parte si poggia anche sulle variabili d'ambiente. Un provider che preleva chiavi disponibili dalle variabili d'ambiente, disponibili poi con IConfiguration, viene infatti automaticamente installato. Le stesse sono inoltre utili per cambiare l'ambiente di esecuzione di ASP.NET Core. La chiave ASPNETCORE_ENVIRONMENT, in particolare, è utile per scegliere switch di Production, Development o altro, e ci permette di cambiare il comportamento del nostro applicativo. Per esempio, impostandolo su Development, possiamo abilitare il middleware che mostra i dettagli su eventuali errori che si possono verificare, e lo stesso flag è utile per apportare altri cambiamenti.
Quando distribuiamo il nostro applicativo su una Web App di Microsoft Azure, insieme al nostro applicativo, comprensivo di tutte le dll, troviamo automaticamente anche il file web.config, cioè la configurazione di IIS affinché questo possa effettuare da reverse proxy e inoltrare le richieste HTTP a Kestrel, cioè il web server di ASP.NET Core. Grazie al modulo che mantiene in vita il processo, possiamo anche cambiare le variabili d'ambiente. E' sufficiente modificare il file web.config tramite gli strumenti possibili (FTP, PowerShell, Kudu, Visual Studio) come segue per poter passare in modalità sviluppo.
<configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> </handlers> <aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout"> <environmentVariables> <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" /> </environmentVariables> </aspNetCore> </system.webServer> </configuration>
Da questo momento l'applicativo riparte prendendo la nuova variabile d'ambiente ed eventuali pagine di errore mostreranno i dettagli. Questa impostazione va usata con cautela dato che non è opportuno dare questo genere di informazioni agli utenti.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eliminare una project wiki di Azure DevOps
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Miglioramenti nell'accessibilità con Angular CDK
Utilizzare DeepSeek R1 con Azure AI
Creare una custom property in GitHub
Creare una libreria CSS universale - Rotazione degli elementi
Recuperare l'ultima versione di una release di GitHub
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Creare una libreria CSS universale: Cards
Combinare Container Queries e Media Queries
Gestione dei nomi con le regole @layer in CSS
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core