In uno script precedente abbiamo visto come ASP.NET Core abbia un sistema di setting piuttosto evoluto, che ci permette di mappare classi (anche complesse) su una sezione del file appsettings.json.
In realtà è comunque supportato un approccio più classico, ossia quello di leggere semplicemente una stringa o un int da una particolare proprietà, in maniera simile a quello che accadeva in ASP.NET. Per farlo è sufficiente sfruttare l'extension method GetValue su IConfigurationRoot.
public HomeController(IConfigurationRoot config) { _config = config; } public IActionResult Index() { ViewData["Title"] = _root.GetValue<string>("GeneralSettings:SiteName"); }
Il codice in alto inietta un'istanza di IConfigurationRoot nel controller e, tramite GetValue, recupera il valore string specificandone il percorso sul file appsettings.json:
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Debug", "System": "Information", "Microsoft": "Information" } }, "GeneralSettings": { "SiteName": "Sito di prova" } }
Affinché il codice funzioni, però, è necessario registrare IConfigurationRoot nel container, all'interno di Startup.cs:
public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddMvc(); services.AddSingleton(this.Configuration); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare la script injection nelle GitHub Actions
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Effettuare delete massive con Entity Framework Core 7
3 metodi JavaScript che ogni applicazione web dovrebbe contenere - Parte 2
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Sviluppo applicazioni x-plat con .NET MAUI
Taggare la output cache in base al routing in ASP.NET Core
Usare Refit e Polly in Blazor per creare client affidabili e fortemente tipizzati
Definire le impostazioni di cache a livello di controller in ASP.NET Core 7
Usare il versioning con i controller di ASP.NET Core Web API
Gestire il breaking change di Entity Framework Core 7 con tabelle che usano identity e trigger
Gestire tipi complessi in query string grazie a IParsable in ASP.NET Core 7.0
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2023 - Milano e Online
- Installare le Web App site extension tramite una pipeline di Azure DevOps
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!