gpt4 book ai didi

c# - 从 Azure Functions 中的配置文件加载连接字符串

转载 作者:太空狗 更新时间:2023-10-29 20:19:35 24 4
gpt4 key购买 nike

在我的 Azure 函数中,我使用一个库,它通过 ConfigurationManager 中的 ConnectionString 建立与 SQL 服务器的连接,如下所示:

var cs = System.Configuration.ConfigurationManager.ConnectionStrings["DbConString"].ConnectionString;
DbConnection connection = new SqlConnection(cs);

现在,当我通过应用程序设置在门户中设置连接字符串 DbConString 时,一切正常。但对于本地开发,我使用 azure-functions-cli,不幸的是我不知道应该将连接字符串放在哪里才能通过 ConfigurationManager 正确加载。

我尝试将其放入 appsettings.json 文件中,但没有成功。

编辑:我的 appsettings.json 当前如下所示:

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": "",
"MyServiceBusReader": "Endpoint=sb://xxxx=",
"DbConStr1": "data source=(localdb)\\MSSQLLocalDB;initial catalog=MyDb;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework",
"ConnectionStrings": {
"DbConStr2": "data source=(localdb)\\MS..."
}
}
}

但我无法通过 ConfigurationManager 访问“DbConStr1”。在“ConnectionStrings”中添加“DbConStr2”,如所述 here导致编译错误。也许是因为我没有使用 .NET Core?

编辑2:我搞乱了“ConnectionStrings”的嵌套。它必须与“Values”处于同一嵌套级别:

{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"AzureWebJobsDashboard": "",
"MyServiceBusReader": "Endpoint=sb://xxxx="
},
"ConnectionStrings": {
"DbConStr": "data source=(localdb)\\MS..."
}
}

最佳答案

添加文件local.setting.json

enter image description here

  {
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"AzureWebJobsDashboard": "UseDevelopmentStorage=true",

"tenantId": "You tenantId",
"resource": "https://management.azure.com/",
"ClientSecret": "You ClientSecret, Key from App Registry",
"ClientId": "You ClientId, Application ID from App registry",

"subscriptionId": "You subscriptionId",
"resourceGroupName": "Your resourceGroupName",
"serverName": " Your SQL Server",
"databaseNameDW": "Your Database",
"apiversion": "2017-10-01-preview"
}
}

在 C# 代码中使用:

private readonly static string tenantId = ConfigurationManager.AppSettings["tenantId"];

关于c# - 从 Azure Functions 中的配置文件加载连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41943907/

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