我有一个ASP.NET Core 2.1网站,该网站引用了类库(DAL)。要从appsettings.json(ASP.NET项目)访问连接字符串,我需要以某种方式注入配置。我在类库中创建了一个如下所示的类:
public class Helper
{
IConfiguration Configuration;
public Helper(IConfiguration configuration)
{
Configuration = configuration;
}
public string GetConnectionString(string name)
{
return Configuration.GetConnectionString("DefaultConnection");
}
}
但是注入模式不会解决这个问题,因此需要IConfigration来创建类。
如何从类库访问appsettings.json?
答案 0 :(得分:2)
您的类库应该不知道或不在乎您如何处理应用程序中的配置。您的Helper
类所需要的只是一个连接字符串,因此您应该在其中输入内容。 如何提供该字符串是您应用程序域中一部分的实现细节。
public class Helper
{
public Helper(string connectionString)
{
// do something with connectionString
}
}
然后,在您的应用中:
services.AddScoped(p =>
new Helper(Configuration.GetConnectionString("DefaultConnection")));