在使用VS2017 for Mac在本地调试Azure函数时尝试从local.settings.json配置文件中读取时返回空值/空值...扫描互联网后,我无法确定这是否是已知问题或是否有一个解决方法。这就是我访问配置设置的方式:
ConfigurationManager.ConnectionStrings["connName"].ConnectionString
如果在Windows机器(相同的git代码库)上调试了功能应用程序,则此方法工作正常
在运行时2.x(.net核心)上运行的Azure函数v2不再支持ConfigurationManager。请参阅Azure团队在github上的回复。
当我在Windows上调试v2函数时,System.Configuration.ConfigurationErrorsException
抛出该错误。和v1一样,您仍然可以正常使用。
因此,如@mariocatch所说,请尝试改为读取环境变量。
供您参考的两个选项。
直接读取环境变量
string connectionString = Environment.GetEnvironmentVariable("ConnectionStrings:connName");
ExecutionContext context
向您的函数方法参数添加并读取本地设置。
[FunctionName("FunctionName")]
public static void Run(...,ExecutionContext context)
{
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
string connectionString = config.GetConnectionString("connName");
.....
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句