【发布时间】:2019-09-13 16:47:02
【问题描述】:
我正在尝试通过在 .net 核心项目的类中获取配置来注入依赖项。我试图注入依赖项的类在另一个项目中。但不知何故,我无法从注入依赖项的配置文件中获取值。 下面是我的代码
在下面的 DBContext 中,我需要从配置中获取值,其中我使用了 DBConfiguration 类的 DI。
public class DBContext : DbContext
{
private readonly DBConfiguration _dBConfiguration;
public DBContext(DBConfiguration dBConfiguration)
{
_dBConfiguration = dBConfiguration;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_dBConfiguration.ConnectionString);
base.OnConfiguring(optionsBuilder);
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
}
还有我在 web api 中的 StartUp.cs 文件
public void ConfigureServices(IServiceCollection services)
{
services.AddScoped<DBConfiguration>();
services.AddEntityFrameworkSqlServer().AddDbContext<DBContext>();
services.AddOptions();
services.Configure<DBConfiguration>(Configuration.GetSection("DBConfiguration"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
还有我的 appsettings.json 文件
{
"DBConfiguration": {
"ConnectionString": "Server=myserver;Database=BaseProjectDB;Trusted_Connection=True;MultipleActiveResultSets=true",
"ApplicationName": "WebAPI"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
对此的任何帮助表示赞赏!
【问题讨论】:
标签: c# asp.net-core dependency-injection .net-core