如何在静态类中从配置中获取连接字符串



我有一个类,可以从配置中获取连接字符串

public class UserClass
{
private readonly IConfiguration _configuration;
public UserClass(IConfiguration configuration, ILogger<UserClass> logger) => _configuration = configuration;
public bool CheckUserPermissions(string email, string password, bool hashed, string SessionID)
{
string strConnString = _configuration.GetConnectionString("DefaultConnection").ToString();
}
}

在静态类中,我无法获取配置。

public static class FunctionClass
{

public static DataTable GetData()
{
string strConnString =  configuration.GetConnectionString("DefaultConnection").ToString();
}
}

不能向静态类注入任何服务。但是如果你需要访问静态类中的连接字符串,你有两个选项:

1:

您可以使用ConfigurationBuilder:

var config = new ConfigurationBuilder()
.AddJsonFile(dir) // dir: path to the configuration file
.Build();
var conStr = config.GetConnectionString("DefaultConnection");

2:

如果是Asp.net核心项目,请尝试读取启动类中的连接字符串,并将连接字符串设置为static全局属性/字段。

public static class FunctionClass
{
public static string ConnectionString = "";
// set the ConnectionString value in the startup

最新更新