如何检索InstanceId&使用C#代码运行Azure WebJob的进程ID

时间:2017-09-08 12:27:14

标签: azure-web-sites azure-webjobs

我正在尝试检索Instance Id& Azure WebJob的进程ID。如下面的快照中所示,我想检索正在运行的InstanceId。

enter image description here

我也想要检索WebJob的ProcessId。 使用C#代码可以检索这两个值吗?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

环境变量" WEBSITE_INSTANCE_ID"包含实例ID。在你的截图中,字符串" e582f3"是完整id的缩写。

[09/08/2017 21:00:53 > be313b: INFO] [21:00:45 INF] Instance: RD00155DF9356E (be313b15729ccddadf6ea48a522d9456e23cc0abf82e5180e3997118fae84fe3)

这是我写的一个日志条目,打印出环境变量" COMPUTERNAME"和" WEBSITE_INSTANCE_ID"。您可以看到 be313b 实际上是完整ID be313b15729ccddadf6ea48a522d9456e23cc0abf82e5180e3997118fae84fe3 的前六位数。

如果您想查看所有可用的变量,请转到您的Kudu控制台,然后点击"环境":https://your-appservice.scm.azurewebsites.net/Env.cshtml

对于进程ID,我认为您可以像在其他任何地方一样致电Process.GetCurrentProcess().Id

我希望这有用!

答案 1 :(得分:1)

每个网络应用的实例都有自己的实例ID。它将在其Web应用程序服务器中另存为环境变量。

要获取当前的WebJobs实例ID,请使用environment-variable(WEBSITE_INSTANCE_ID)。

实例ID表示运行该站点的VM(如果站点在多个实例上运行,则每个实例将具有不同的ID)

您可以参考以下代码了解更多详情:



image = response.css('script::text').re('image:\s*"(.*?)",')[0]
file = response.css('script::text').re('"file":"(.*?)",')[0].replace('\\', '')




有关获取ProcessId和InstanceId的更多详细信息和示例,请参阅此blogpost

正如Kenneth LeFebvre所提到的,您还可以使用Kudu控制台“环境”选项卡来检查实例和进程ID。