我使用.NET Core在Azure函数中使用EF Core 2.0。我正在尝试从local.settings.json读取DB ConnectionsTring,该链条定义为:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
},
"ConnectionStrings": {
"MyDbConnStr": "Data Source=.;Initial Catalog=xxxxxxx"
}
}
emovention.getEnvironMentVariable()不返回任何连接字符串信息,我都无法使用带有.net core的configurationManager.connectionsrings。如何从代码访问连接字符串?
您可以使用Microsoft.Azure.WebJobs.Host
中的一个助手类:
AmbientConnectionStringProvider.Instance.GetConnectionString("MyDbConnStr")
此类将作品委派给了名为ConfigurationUtility
的内部类,该课程与
var configuration = new ConfigurationBuilder()
.AddEnvironmentVariables()
.AddJsonFile("appsettings.json", true)
.Build();
var conn = configuration.GetConnectionString("MyDbConnStr");
您可以使用Environment.GetEnvironmentVariable
。钥匙是" ConnectionsRings:YourKey"
假设您的local.settings.json看起来如下:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true"
},
"ConnectionStrings": {
"sqldb_connection": "connection_string_here"
}
}
使用Environment.GetEnvironmentVariable("ConnectionStrings:sqldb_connection", EnvironmentVariableTarget.Process);
要获得值