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
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Registrare servizi multipli tramite chiavi in ASP.NET Core 8
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Definire stili a livello di libreria in Angular
Effettuare il refresh dei dati di una QuickGrid di Blazor
Gestire i dati con Azure Cosmos DB Data Explorer
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Applicare un filtro per recuperare alcune issue di GitHub
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Eseguire le GitHub Actions offline
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework