C# 如何将数据从应用程序设置Azure(webapp)接收到我的webjob

C# 如何将数据从应用程序设置Azure(webapp)接收到我的webjob,c#,azure,azure-webjobs,C#,Azure,Azure Webjobs,我在c#做了一个Azure WebJob。我在Azure上有一个web应用程序,我在订阅中添加了我的WebJob,所有这些都很好,但在应用程序设置中我添加了一个新条目,例如: <add key="MyDesiredKey" value="1234" /> 改用CloudConfigurationManager,因为它在多个地方尝试使用回退机制 var keyFromAzureApp = CloudConfigurationManager.GetSetting("MyDesired

我在c#做了一个Azure WebJob。我在Azure上有一个web应用程序,我在订阅中添加了我的WebJob,所有这些都很好,但在应用程序设置中我添加了一个新条目,例如:

<add key="MyDesiredKey" value="1234" /> 

改用CloudConfigurationManager,因为它在多个地方尝试使用回退机制

var keyFromAzureApp = CloudConfigurationManager.GetSetting("MyDesiredKey");

查看以了解何时使用CloudConfigurationManager

正如bradbury9解释的那样,您可以使用
System.Configuration.ConfigurationManager.AppSettings
[“我的键值”]进行此操作

最好在门户中添加应用程序设置。这些将在运行时作为环境变量提供给实例上的所有进程

对于应用程序设置而言,相应环境变量的名称以
应用程序设置
开头

以下是一篇博客文章,描述了这一点:

当我的应用程序在azure上运行时,我如何将我的密钥值输入到应用程序中

根据我的测试,如果我们在azure门户上没有设置,我们将在Webjob中获得空值。请将其添加到azure门户,更多详细信息请参阅屏幕截图

这样做之后,以下所有方法都会起作用

 var myDesiredKey = ConfigurationManager.AppSettings["MyDesiredKey"];
 var environmentmyDesiredKey  = Environment.GetEnvironmentVariable("MyDesiredKey");
 var cloudmyDesiredKey = CloudConfigurationManager.GetSetting("MyDesiredKey");

请在对问题进行否决表决时添加评论,以说明如何改进。这一点很清楚,但对我来说,它不适用于webjob中的代码,尽管它适用于web应用程序中的代码
 var myDesiredKey = ConfigurationManager.AppSettings["MyDesiredKey"];
 var environmentmyDesiredKey  = Environment.GetEnvironmentVariable("MyDesiredKey");
 var cloudmyDesiredKey = CloudConfigurationManager.GetSetting("MyDesiredKey");