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
Paginare i risultati con QuickGrid in Blazor
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Utilizzare Model as a Service su Microsoft Azure
Disabilitare automaticamente un workflow di GitHub
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Creare una libreria CSS universale - Rotazione degli elementi
Utilizzare Container Queries nominali
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Gestione dei nomi con le regole @layer in CSS