gpt4 book ai didi

Azure 函数 - ConnectionString 属性尚未初始化

转载 作者:行者123 更新时间:2023-12-01 13:17:52 24 4
gpt4 key购买 nike

我在 Visual Studio 中开发了一个 Azure 函数,并且在 Azure 中发布时它可以工作(从一年前开始)。

现在,我在 Visual Studio 中根据该 Azure 函数制作了一个模板,并更改了一些细节,但基本上是相同的。当我在本地测试时,效果很好。

但是当我在 Azure 中发布它并尝试测试它时,我收到此错误:

The ConnectionString property has not been initialized

我通常在应用程序设置中编写连接字符串(它适用于较旧的 Azure 功能)。

以下是该函数如何获取连接字符串的值:

var repo = new GranularRepository(ConfigurationManager.AppSettings["BoConnectionString"]);

我也尝试过:

var repo = new AvgDeliveryTime_GranularRepository(Environment.GetEnvironmentVariable("BodbConnectionString"));

最佳答案

根据你的描述,我无法区分你的函数运行时。

对于 v1:

您可以使用 ConfigurationManager.AppSettingsSystem.Environment.GetEnvironmentVariable 来获取 Azure 中的连接字符串。

var a = ConfigurationManager.AppSettings["BoConnectionString"];
var b = System.Environment.GetEnvironmentVariable("BoConnectionString");

对于 v2:

您可以使用System.Environment.GetEnvironmentVariableConfigurationBuilder来获取它。添加ExecutionContext参数,用于定位函数app目录。

var a= System.Environment.GetEnvironmentVariable("BoConnectionString");
/////////////
public static void Run(...,ExecutionContext context)
{
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();

// Get Connection strings
var connParameter= "MySqlAzureConnection";
string connectionString = config.GetConnectionString($"{connParameter}");
}

v1 和 v2 都可以在应用程序设置中设置连接字符串。 enter image description here

更多详情可以引用这个issue .

关于Azure 函数 - ConnectionString 属性尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52990929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com