在.NET Core应用程序中获取连接字符串

时间:2016-10-24 09:52:06

标签: c# asp.net asp.net-core .net-core

我试图从 appsettings.json 文件中动态获取连接字符串。我看到我可以通过启动类的配置属性来实现。我已将配置字段标记为静态字段,并在整个应用中访问它。

我想知道是否有更好方式从 .NET Core 应用获取连接字符串值。

3 个答案:

答案 0 :(得分:8)

您可以查看有关ASP.NET核心配置here的博客文章。

在其中我还会通过配置选项的依赖注入。

引用:

  

有几种方法可以获得设置。一种方法是使用   Startup.cs中的配置对象。

     

您可以通过全局在应用中进行配置   在Startup.cs中的ConfigureServices中执行此依赖注入:

     

services.AddSingleton(配置);

答案 1 :(得分:0)

您可以对Singleton文件中声明的IConfiguration变量执行线程安全Startup.cs

private static object syncRoot = new object();
private static IConfiguration configuration;
public static IConfiguration Configuration
{
    get
    {
        lock (syncRoot)
            return configuration;
    }
}

public Startup()
{
    configuration = new ConfigurationBuilder().Build(); // add more fields
}

答案 2 :(得分:0)

private readonly IHostingEnvironment _hostEnvironment;
    public IConfiguration Configuration;
    public IActionResult Index()
    {
        return View();
    }

    public ViewerController(IHostingEnvironment hostEnvironment, IConfiguration config)
    {
        _hostEnvironment = hostEnvironment;
        Configuration = config;
    }

并且在课程中你想要连接字符串

 var connectionString = Configuration.GetConnectionString("SQLCashConnection");