我创建了一个Azure Function v2。我在大多数文章中都建议以下内容:
var config = new ConfigurationBuilder()
.SetBasePath(context.FunctionAppDirectory)
.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
在azure上托管的函数是否还具有local.settings.json文件?此代码段是否将获取Azure中定义的应用程序设置?还是在发布之前需要更改local.settings.json?我以为local.settings.json是本地开发人员?
是否有使用上述摘录vs
的推荐做法Environment.GetEnvironmentVariable("xx")?
答案 0 :(得分:0)
您发布的第一种方法在本地和云中都可以正常工作。
注意:在Azure中,没有local.settings.json(或者永远不应该)。仅在本地调试时使用。在Functions运行时中,它被拾取的方式与在Azure中运行时拾取AppSettings的方式相同,并且设置作为环境变量注入到您的应用程序中。我大部分时间都在使用它。
但是,我最近开始使用环境变量(Environment.GetEnvironmentVariable("xx")
)切换到第二种方法。为什么?仅仅是因为它更短并且不需要额外的用法等。除此之外,我知道使用这两种方法中的任何方法都没有区别。