In ASP.NET core ci sono un sacco di opzioni che è possibile utilizzare per accedere alla configurazione. Sembra che se sei interessante accedendo allo DefaultConnection
starai meglio usando l'approccio DI. Per assicurarti di poter utilizzare l'injection dependency del costruttore, dobbiamo configurare correttamente alcune cose nel nostro Startup.cs
.
public IConfigurationRoot Configuration { get; }
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
Ora abbiamo letto la nostra configurazione JSON
dal costruttore ed assegnato al nostro Configuration
esempio. Ora, dovremo configurarlo per l'iniezione delle dipendenze, quindi iniziamo creando un semplice POCO per contenere la stringa di connessione.
public class ConnectionStrings
{
public string DefaultConnection { get; set; }
}
Stiamo implementando il "Options Pattern" dove ci leghiamo classi fortemente tipizzato alla configurazione segmenti. Ora, in ConfigureServices
fare questo:
public void ConfigureServices(IServiceCollection services)
{
// Setup options with DI
services.AddOptions();
// Configure ConnectionStrings using config
services.Configure<ConnectionStrings>(Configuration);
}
Ora che questo è tutto a posto, possiamo semplicemente richiedere al costruttore della classe ad assumere la IOptions<ConnectionStrings>
e saremo dato un esempio materializzato della classe che contiene il valori di configurazione.
public class MyController : Controller
{
private readonly ConnectionStrings _connectionStrings;
public MyController(IOptions<ConnectionString> options)
{
_connectionStrings = options.Value;
}
public IActionResult Get()
{
// Use the _connectionStrings instance now...
using (var conn = new NpgsqlConnection(_connectionStrings.DefaultConnection))
{
conn.Open();
// Omitted for brevity...
}
}
}
Here è la documentazione ufficiale, che io consiglio sempre come deve leggere.
fonte
2016-05-25 01:30:43
Non conosco nulla per quanto riguarda le impostazioni di JSON, ma penso che questo sia ciò che state cercando. http://stackoverflow.com/questions/31453495/how-to-read-appsettings-values-from-config-json-in-asp-net-vnext –