从Azure函数中的配置文件加载连接字符串

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

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”这里引出一个编译错误。也许是因为我没有使用.NET Core?

Edit2:我搞砸了“ ConnectionStrings”的嵌套。它必须与“值”处于同一嵌套级别:

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

问题是,例如Web.config文件中已知的连接字符串由两部分组成:

  • 连接字符串本身和
  • 提供者名称。

但是由于配置文件使用JSON格式,因此无法同时指定两个参数。

在提出问题时,无法在中设置提供者名称appsetings.json(现已重命名为local.settings.json)。但Azure的功能团队改变这一点,并设置一个默认值providerNameSystem.Data.SqlClient,这解决了这个问题。

providerName默认System.Data.SqlClient您无需手动设置。只需添加您的连接字符串X并通过阅读即可ConfigurationManager.ConnectionStrings["X"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Visual Studio 2015 在 Azure 函数中定义连接字符串?

Twig:连接字符串中的变量

如何在 Azure Function 环境中设置 linq2db 连接字符串

使用配置文件中的连接字符串获取 SSIS 包中的连接时出错

从配置文件将 MenuItem 加速器加载到 FXML 中?

Tomcat:无法从 AWS 的凭证配置文件加载凭证

使用字符串读取配置文件变量

在 PowerShell 配置文件中设置-AWSProxy

如何配置 OraOLEDB 连接字符串

Ansible 字符串连接到配置文件中

Git:在 .zshrc 配置文件中克隆 repo 和所有分支自定义函数

连接时更新 firebase 中的用户配置文件

配置文件 - 加密连接字符串

如何在输出函数中连接字符串?

如何为 ASP.NET Core 和 azure、netcoreapp3.1、VS2019 配置连接字符串?

连接参数中的字符串

如何将文件中的字符串加载到 C 中的链表中?

函数调用/从字符串中引用

如何使用适当的“@”转换 appsettings json 文件中的显式 SQL Server 连接字符串?

在字符串中添加函数

在 React Native 中制作配置文件

Azure API 不使用来自配置的连接字符串,而是使用本地连接字符串

函数中的字符串参数问题

Vim 加载所有包含字符串的文件

在多个备份配置文件 python 上使用搜索字符串并保存到新文件

viper 动态加载配置文件有数据竞争

.net core 6 中的配置连接字符串

字符串的连接

Hugging Face H5 加载模型错误:在配置文件中找不到模型

Azure Devops 拆分字符串函数