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
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Utilizzare WebJobs su Linux con Azure App Service
Testare il failover sulle region in Azure Storage
Generare una User Delegation SAS in .NET per Azure Blob Storage
Configurare automaticamente un webhook in Azure DevOps
.NET Aspire per applicazioni distribuite
Creare agenti facilmente con Azure AI Agent Service
Gestire trasferimenti cloud con Azure Storage Mover
Gestione file Javascript in Blazor con .NET 9
Modificare lo stile in una QuickGrid Blazor
Migrare applicazioni legacy nel cloud con Azure App Service Managed Instance
Configurare OpenAI in .NET Aspire


