Il official documentation per quanto riguarda la nuova configurazione e le opzioni è abbastanza buono, consiglierei di dare un'occhiata prima lì.
Seguendo le indicazioni fornite lì, inizia con la creazione di una classe POCO per le impostazioni:
public class Settings
{
public string logo_text { get; set; }
public bool enable_logo_text { get; set; }
}
Aggiornare il metodo ConfigureServices
della classe di avvio in modo di leggere le impostazioni dalla configurazione configurato ed è quindi disponibile come servizio che può essere iniettato ovunque è necessario:
public void ConfigureServices(IServiceCollection services)
{
...
services.Configure<Settings>(Configuration);
services.AddOptions();
}
Se si desidera utilizzare un file del appsettings.json, assicuratevi anche costruire il vostro oggetto Configuration
tra cui quel file jSON. Per esempio:
public Startup(IHostingEnvironment env)
{
// Set up configuration sources.
var builder = new ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.AddEnvironmentVariables();
Configuration = builder.Build();
}
In questo modo è possibile configurare i valori nel file appsettings.json ei valori verranno impostati sul vostro Settings
classe:
{
...
"enable_logo_text": true,
"logo_text": "My Logo Text"
}
Infine, è possibile accedere ai valori configurati da aggiunta di una dipendenza IOptions<Settings>
. Il modo più semplice sarebbe quella di iniettare direttamente le opzioni nella vista (come spiegato nel the docs), ma si potrebbe prendere in considerazione l'iniezione le opzioni nel controller e di passarli alla vista in un modo più controllato:
@inject IOptions<Settings> Settings
...
@if(Settings.Value.enable_logo_text)
{
<span>@Settings.Value.logo_text</span>
}
fonte
2015-12-08 18:54:23