如何从App Settings Azure(webapp)接收数据到我的webjob

时间:2017-07-17 12:50:00

标签: c# azure azure-webjobs

我在c#中创建了一个Azure WebJob。我在Azure上有一个Web应用程序,我将我的WebJob添加到我的订阅中,一切都很好,但在应用程序设置中我添加了一个新条目,例如:

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

如果在azure上运行我的密钥进入我的应用程序?如何?

我尝试这样但不工作,在这种情况下,不需要在我的网络配置中没有那个键吗?当webjob运行时需要从我在Azure上存储的webapp的Appsettings中获取价值

var keyFromAzureApp = ConfigurationManager.AppSettings["MyDesiredKey"];

3 个答案:

答案 0 :(得分:7)

  

如果在azure上运行我的密钥进入我的应用程序?如何?

根据我的测试,如果我们在azure门户上没有设置,我们将在Webjob中获得null值。请将它添加到天蓝色的门户网站上,更多细节请参见截图。

enter image description here

执行此操作后,以下所有方法都可以正常工作

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

答案 1 :(得分:3)

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

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

查看this以了解何时使用CloudConfigurationManager

答案 2 :(得分:2)

正如bradbury9所解释的那样,你可以使用System.Configuration.ConfigurationManager.AppSettings [&#34; my-Key-Value&#34;]。

如果在门户中添加应用程序设置会更好。这些将在运行时以环境变量的形式提供给实例上的所有进程。

对于应用设置,相应环境变量的名称前缀为 APPSETTING_

这是一篇博客文章,其中描述了这一点:https://azure.microsoft.com/en-in/blog/windows-azure-web-sites-how-application-strings-and-connection-strings-work/