我正在尝试从appsettings.json文件中动态获取连接字符串。我发现可以通过startup类的Configuration属性来实现。我已将Configuration字段标记为静态字段,并在整个应用程序中访问它。
我想知道是否有更好的方法从.NET Core应用程序中获取连接字符串值。
我想知道是否有更好的方法从.NET Core应用程序中获取连接字符串值。
您可以在Startup.cs
文件中声明一个线程安全的Singleton
,用于存储IConfiguration
变量。
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
}
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");
Configuration
对象 - [示例在这里](https://radu-matei.github.io/blog/aspnet-core-configuration-greeting/#making-use-of-asp-net-core-dependency-injection) - radu-matei