正确/推荐的访问方式是什么config.json
ASP.NET vNext 中的文件(或存储配置的其他位置)?
In the Startup
类,我像这样设置配置:
public class Startup
{
public IConfiguration Configuration { get; set; }
public Startup(IHostingEnvironment env, IApplicationEnvironment appEnv)
{
var configurationBuilder = new ConfigurationBuilder(appEnv.ApplicationBasePath)
.AddJsonFile("config.json")
.AddEnvironmentVariables();
Configuration = configurationBuilder.Build();
}
但是如果我需要在其他地方访问连接字符串,我该怎么做呢?例如,在OnConfiguring
EF 上下文中,如何获取连接字符串:
protected override void OnConfiguring(EntityOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer( ??? );
我读到你可以使用这个:
var config = Startup.Configuration
?? new Configuration()
.AddJsonFile("config.json")
.AddEnvironmentVariables();
但是(a)启动不是静态的,并且(b)您肯定不想每次需要时都重新构建配置设置 - 这是在使用它的所有地方重复代码。
我还读到你应该使用依赖注入 https://github.com/aspnet/Announcements/issues/25,但该链接并未完全向您展示如何操作。如果我的 DbContext 构造函数有一个注入参数,那么如何将其注入到无参数 BaseApiController 中?
这看起来确实是一个常见/简单的要求:在启动中配置后,如何在其他地方访问该配置?这应该在文档/示例中随处可见。