[英]How do I get a connection string from Azure App Service configuration in a .Net Frame Asp.Net application?
[英]ASP.NET Core on Azure App Service not reading Connection string from Application settings
如何强制App Service从设置而不是从appsettings.json文件读取连接字符串?
我们尝试了“设置” /“应用程序设置” /“连接字符串”和“设置/配置(预览)/连接字符串”,但仍会继续读取上传的appsettings.json。
我们已使用Azure DevOps并尝试了Web一键发布。 可能可以直接从发布设置(在VS中)进行手动发布和连接字符串替换。
我们将这种方法用于其他(非asp.net核心)网站,并且可以正常工作。
我已经检查了Asp.Net Core和Azure Hosting的教程,我相信我所做的一切对吗?
我什至从哪里开始调试这个东西?
EntityFramework在一个单独的项目中,我们在连接字符串中使用了带有自定义构造函数的依赖项注入,如果我手动设置appsettings.json文件,它可以很好地工作,但是我必须将其部署在多台服务器上,并且它不会通过代码或每次手动对这些东西都有意义。 而且我不想排除appsettings.json的自动部署,我只想在服务器上进行转换。
ConfigureServices
IConfigurationRoot configuration = new ConfigurationBuilder().SetBasePath(AppDomain.CurrentDomain.BaseDirectory).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true).Build();
string connectionString = configuration.GetConnectionString("DefaultConnection");
appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "xxx"
},
...
也许我读错了appsetting.json,而Azure无法正确注入新的连接字符串?
根据评论中的讨论,解决方案是使用通过Startup
类构造函数提供的IConfiguration
对象(仅在Core 2.x +中有效)。
因此,例如:
private readonly IConfiguration _config;
public Startup(IConfiguration config)
{
_config = config;
}
然后,您可以使用_config
来访问Startup
设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.