In ASP.NET Core- gibt es viele Möglichkeiten tun können Sie die Konfiguration zugreifen können. Es scheint, als ob Sie interessant sind, Zugriff auf die DefaultConnection
Sie wäre besser dran mit der DI Ansatz. Um sicherzustellen, dass Sie die Construction Dependency Injection verwenden können, müssen wir einige Dinge in unserem Startup.cs
richtig konfigurieren.
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();
}
Wir haben nun unsere Konfiguration JSON
vom Erbauer und zugewiesen an unsere Configuration
Instanz lesen. Jetzt müssen wir es für die Abhängigkeitsinjektion konfigurieren. Beginnen wir mit der Erstellung eines einfachen POCO, um die Verbindungszeichenfolge zu speichern.
public class ConnectionStrings
{
public string DefaultConnection { get; set; }
}
Wir setzen die "Options Pattern", wo wir stark typisierte Klassen binden Segmente zur Konfiguration. Nun, in ConfigureServices
dies tun:
public void ConfigureServices(IServiceCollection services)
{
// Setup options with DI
services.AddOptions();
// Configure ConnectionStrings using config
services.Configure<ConnectionStrings>(Configuration);
}
nun, dass dies alles an seinem Platz ist, können wir einfach den Konstruktor der Klasse erfordern auf den IOptions<ConnectionStrings>
zu nehmen, und wir werden eine materialisierte Instanz der Klasse gegeben werden, die die Konfigurationswerte.
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 ist die offizielle Dokumentation, die ich immer als ein lesen.
Ich weiß nichts über Json App-Einstellungen, aber ich denke, das ist, was Sie suchen. http://stackoverflow.com/questions/31453495/how-to-read-appsettings-values-from-config-json-in-asp-net-vnext –