我有一个类,可以从配置中获取连接字符串
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