Negli script precedenti ci siamo occupati del file appsettings.json, che contiene le impostazioni del progetto ASP.NET Core, e abbiamo visto come referenziarlo e recuperarne il contenuto all'interno dei vari controller.
Se guardiamo con attenzione il contenuto di startup.cs, però, possiamo notare che questo file non è l'unico che viene aggiunto per default alla configurazione:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
// file di configurazione per environment
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}Come possiamo notare dal codice in alto, infatti, è prevista la possibilità di includere anche dei file aggiuntivi, denominati appsettings.[nomeAmbiente].json, che contengano impostazioni specifiche per l'ambiente di deploy. Per capire come utilizzare questa funzionalità, riprendiamo l'esempio di questo script:
https://www.aspitalia.com/script/1233/Leggere-Tipi-Nativi-Appsettings.json-ASP.NET-Core.aspx
In esso avevamo definito un appsettings.json come il seguente:
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
},
"GeneralSettings": {
"SiteName": "Sito di prova"
}
}Se vogliamo gestire delle impostazioni per l'ambiente di Staging, per esempio, non dobbiamo far altro che creare un file appsettings.staging.json e inserirle al suo interno. Non è necessario includere tutto, ma possiamo limitarci alle sole differenze.
{
"GeneralSettings": {
"SiteName": "Sito di prova - staging"
}
}A questo punto non resta che l'ultimo passaggio, ossia impostare in fase di esecuzione l'ambiente che vogliamo utilizzare. Il modo più semplice per farlo è dalle proprietà del progetto ASP.NET MVC, nella scheda Debug:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Analizzare il contenuto di una issue con GitHub Models e AI
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Recuperare gli audit log in Azure DevOps
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Gestire progetti .NET + React in .NET Aspire
Rendere le variabili read-only in una pipeline di Azure DevOps
Scrivere selettori CSS più semplici ed efficienti con :is()
Integrare SQL Server in un progetto .NET Aspire
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Implementare il throttle in JavaScript
I più letti di oggi
- Inserire le news di Punto Informatico nel proprio sito
- Consumare dati binari in realtime lato client con ASP.NET Core SignalR
- The Agentic Day - Milano
- Percorsi relativi in pagine e user control ASP.NET
- Usare ASP.NET Identity per autenticare i client di un'applicazione ASP.NET Web API
- Creare un templated component per Blazor


