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 operazioni con timeout in React
Migrate and Modernize your .NET Applications on Azure
Semplificare il deployment di siti statici con Azure Static Web App
Eseguire query verso tipi non mappati in Entity Framework Core
Routing statico e PreRendering in una Blazor Web App
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Load test di ASP.NET Core con k6
Migliora la resilienza delle applicazioni con .NET e Azure Container Apps
Generare file per il download da Blazor WebAssembly
Miglioramenti nell'accessibilità con Angular CDK
Eseguire attività pianificate con Azure Container Jobs
I più letti di oggi
- Vuoi incontrare Bill Gates? Viaggia con ASPItalia.com!
- Customizzare il pager del DataGrid
- Stabilire un collegamento VPN tra una Web App e una Virtual Network
- Documentare ASP.NET Web API con Swagger
- Usare i servizi REST di BING per ottenere informazioni sulla posizione dell'utente
- Visual Studio 2005 CTP May