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
Eseguire script pre e post esecuzione di un workflow di GitHub
Ottimizzare le pull con Artifact Cache di Azure Container Registry
Recuperare l'ultima versione di una release di GitHub
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Miglioramenti nell'accessibilità con Angular CDK
Cambiare la chiave di partizionamento di Azure Cosmos DB
Creare una libreria CSS universale: Cards
Migliorare la sicurezza dei prompt con Azure AI Studio
.NET Conference Italia 2024
Ottimizzazione dei block template in Angular 17
Generare la software bill of material (SBOM) in GitHub
Utilizzare Model as a Service su Microsoft Azure