我的Azure功能应用程序已定义ConnectionString。我想从用dotnet标准2.0编写的C#函数中检索它。我尝试将System.Configuration.ConfigurationManager
添加到project.json并使用
var str = ConfigurationManager.ConnectionStrings["my string"].ConnectionString;
但我得到了错误
run.csx(24,15):错误CS0103:当前上下文中不存在名称“ConfigurationManager”
如何访问连接字符串?
Configuration Functions在Azure Functions v2 .NET Standard项目中不可用。 Azure FUnction v2现在使用ASPNET Core Configuration。
您可以按照这些说明操作。
public static async Task<HttpResponseMessage> Run(InputMessage req, TraceWriter log, ExecutionContext context)
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
您可以在this blog中找到有关如何在v2中使用AppSettings和ConnectionStrings的说明。
run.csx(24,15):错误CS0103:当前上下文中不存在名称“ConfigurationManager”
根据提到的例外情况。您似乎需要在dot net standard 2.0类库中添加引用System.Configuration。我在本地测试它在我身边正常工作。
public class TestGetConnectionString
{
public string ConnectionString;
public TestGetConnectionString()
{
var str = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
ConnectionString = str;
}
}
更新:
在您的情况下,您还可以在Azure功能appsetting中添加连接字符串。您可以参考屏幕截图的详细信息。我们可以通过以下代码轻松访问它。
var connectionstring = Environment.GetEnvironmentVariable("ConnectionString");
在天蓝色的门户上测试它。