在ASP.NET Core 3.1中,在类库中获取连接字符串可以通过依赖注入的方式来实现。以下是一个示例解决方法:
首先,在类库项目中创建一个接口来定义获取连接字符串的方法,例如:
public interface IConnectionStringProvider
{
string GetConnectionString();
}
然后,实现该接口并获取连接字符串的具体逻辑,例如:
public class ConnectionStringProvider : IConnectionStringProvider
{
private readonly IConfiguration _configuration;
public ConnectionStringProvider(IConfiguration configuration)
{
_configuration = configuration;
}
public string GetConnectionString()
{
return _configuration.GetConnectionString("DefaultConnection");
}
}
接下来,在ASP.NET Core Web应用程序的Startup类中配置依赖注入,将实现的类注册为服务,例如:
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddSingleton();
// ...
}
最后,在类库中需要获取连接字符串的地方,通过依赖注入方式获取连接字符串,例如:
public class ExampleClass
{
private readonly IConnectionStringProvider _connectionStringProvider;
public ExampleClass(IConnectionStringProvider connectionStringProvider)
{
_connectionStringProvider = connectionStringProvider;
}
public void SomeMethod()
{
string connectionString = _connectionStringProvider.GetConnectionString();
// 使用连接字符串进行一些操作
}
}
通过以上步骤,就可以在类库中获取ASP.NET Core应用程序的连接字符串了。