Azure Functions:引用程序集的配置文件
Posted
技术标签:
【中文标题】Azure Functions:引用程序集的配置文件【英文标题】:Azure Functions: Configuration file for referenced assembly 【发布时间】:2018-01-17 08:06:03 【问题描述】:我们在azure function app
项目中有一个引用的项目。引用的程序集是data service
项目,也被web api
项目引用。
当在 web-api
项目中引用时,data service project
会自动引用 web.config
文件以获取连接字符串和应用设置。在azure functions app
中,data service
项目无法找到存储在local.settings.json
文件中的连接字符串。
-
如何在本地解决这个问题?
如何解决生产中的问题?
注意:希望在这里采用 DRY 方法。
【问题讨论】:
如何读取连接字符串? 我目前以 ConfigurationManager.AppSetting("ss1ConnString") 的身份访问应用程序设置 不应该是ConfigurationManager.ConnectionStrings["ss1ConnString"].ConnectionString
吗?
是的,没错。它正在与web-api
项目一起使用,但不适用于azure functions app
是的,请发布local.settings.json
文件的内容,因为这应该“正常工作”。请记住ConnectionStrings
应与AppSettings
放在不同的块中。参考这个答案:***.com/a/45555781/352640
【参考方案1】:
正如 Jan V 所说,您可以在 json 文件中添加数据连接字符串。此外,你可以设置一个断点,看看你是否得到'str'值(调试)。
var str = ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString;
local.settings.jons 文件中的代码:
"IsEncrypted": false,
"Values":
"AzureWebJobsStorage":
"your storage account connection string",
"AzureWebJobsDashboard":
"your storage account connection string"
,
"ConnectionStrings":
"ConnectionStringName": "Data Source=tcp:database server name,1433;Initial Catalog=database name;Integrated Security=False;User Id=user name;Password= your Password;Encrypt=True;TrustServerCertificate=False;MultipleActiveResultSets=True" // Refer to Azure portal>SQL database> connection string
有关如何使用 Azure Functions 连接到 Azure SQL 数据库的更多详细信息,您可以阅读此article。
【讨论】:
另加ProviderName
以上是关于Azure Functions:引用程序集的配置文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 .NET Core 3.1 的 Azure Functions 中将 Serilog 配置为默认日志提供程序?
Azure Functions 的 Azure 队列触发器:配置最小轮询间隔
Azure Function v2 引用了 Newtonsoft.Json 版本高于 Microsoft.NET.Sdk.Functions 的项目