3

我继承了一些为 Azure Functions 编写的代码,但我对 Azure Functions 几乎一无所知。现在,这段代码是为我们的暂存环境编写的,并且包含特定于我们的暂存环境的硬编码 URL 以及在生产中会有所不同的各种 API 密钥。

我想要完成的第一个任务是摆脱这些硬编码字符串并将它们移动到某种“配置”文件中,该文件可以通过我们的构建系统进行部署。换句话说,暂存 Azure Functions 应用程序将针对我们的暂存环境,而生产应用程序将针对我们的生产环境。对于普通的 C# 应用程序,我只需将这些内容粘贴到 web.config 或 app.config 文件中。

我有两个问题:

第一:存储这些配置属性的推荐位置在哪里?让我们看看我的 CSX 文件中的这段代码:

public const string apikey = "37eb882ff6914b4c9205673547c10dc8"; // This value needs to change based on our environment

我首先查看的是功能应用设置->配置应用设置->应用设置部分。我添加了一个新的应用程序设置,但找不到任何方法来实际读取代码中的值(我尝试使用 ConfigurationManager),也找不到有关其工作原理的文档。

接下来我查看的是 function.json 文件,其中包含有关如何调用函数的绑定信息。这里似乎没有我可以添加自己的设置的区域。

最后,我查看了位于应用程序根目录的 host.json 文件。这个文件有很多文档,但它似乎不是自定义设置的合适位置。

第二:在此处添加属性后,如何使用 C# 代码读取它?换句话说,我会用什么替换那条public const string线?

非常感谢!

4

1 回答 1

6

函数应用设置->配置应用设置->应用设置位置是存储配置设置的推荐位置。

要从 C# 代码访问应用程序设置,您只需使用 ConfigurationManager 类:

public static readonly string value = System.Configuration.ConfigurationManager.AppSettings["MySetting"];

而不是使用“const”,您需要使用“static readonly”,它的功能几乎相同。

于 2017-01-06T23:30:20.767 回答