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
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Usare le navigation property in QuickGrid di Blazor
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Eliminare una project wiki di Azure DevOps
Disabilitare automaticamente un workflow di GitHub
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Usare il colore CSS per migliorare lo stile della pagina
Creare una libreria CSS universale: Clip-path
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Filtering sulle colonne in una QuickGrid di Blazor
Selettore CSS :has() e i suoi casi d'uso avanzati