【发布时间】:2018-08-12 12:42:29
【问题描述】:
我有一个已部署为 Web 作业的 .NET Core 应用程序,该 Web 作业部署成功,但未执行任何任务。我认为它无法从 config.json 获取连接字符串。
.Net Core 控制台应用程序默认没有配置文件,所以我手动添加了一个并使用以下代码读取其配置:
var builder = new ConfigurationBuilder();
string directory = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;
var builder2 = builder.SetBasePath(directory);
var builder3 = builder2.AddJsonFile("config.json", true, true);
_configuration = builder3.Build();
var optionsBuilder = new DbContextOptionsBuilder<UserContext>();
optionsBuilder.UseSqlServer(_configuration.GetConnectionString("ROSCAConnection"));
UserContext userContext = new UserContext(optionsBuilder.Options);
这在我的机器上运行良好。当我发布 .NET Core 应用程序时,它不会将我的 config.json 文件提取到我的发布输出中。
这是我的 config.json 文件:
{
"ConnectionStrings": {
"ROSCAConnection": "Data Source=***.database.windows.net;Initial Catalog=***;Persist Security Info=True;User ID=***;Password=***"
},
"Ripple": {
"baseURL": "https://s.altnet.rippletest.net:51234",
"account": "***",
"secret": "***"
},
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}
如何发布此 .NET Core 控制台应用程序,以便它读取我的 config.json?
在 azure 中检查应用服务编辑器确认 config.json 确实存在
【问题讨论】:
-
i think it has failed to get connection string frommy config.json你是怎么得出这个结论的? -
@mjwills 我添加了有问题的图像...... azure 应用服务编辑器确实确认 config.json 存在......仍然网络作业没有执行其任务
-
将 Directory.GetParent(Directory.GetCurrentDirectory()).Parent.FullName;让 config.json 在 azure 中工作?
标签: c# .net-core console-application config azure-webjobs