我试图从 appsettings.json 文件中动态获取连接字符串。我看到我可以通过启动类的配置属性来实现。我已将配置字段标记为静态字段,并在整个应用中访问它。
我想知道是否有更好方式从 .NET Core 应用获取连接字符串值。
答案 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");