
Zu dieser Frage ist folgende Situation:
- In ASP.NET (.NET Framework) geschriebene Anwendung wird in einem Windows-Container auf Windows Server 2016 ausgeführt
- Die Anwendung muss zur Laufzeit erkennen können, ob sie in einer Azure-VM ausgeführt wird oder nicht.
Ich habe ein PowerShell-Skript, das erkennen kann, ob die App in einer Azure-VM ausgeführt wird. Dies funktioniert jedoch nur, wenn sie außerhalb eines Containers ausgeführt wird. Sobald es sich in einem Container befindet, gibt dieses Skript „False“ zurück, was falsch ist.
Weiß jemand, wie man erkennt, ob eine Anwendung in einer Azure-VM in einem Windows-Container ausgeführt wird? Vielen Dank im Voraus
Antwort1
Die meisten Windows-Containersysteme verfügen über einen Dienst namens Container Execution Service (cexecsvc). Ich habe Ihnen einen PowerShell-Ausschnitt zur Verfügung gestellt, damit Sie überprüfen können, ob dieser vorhanden ist: If (Get-Service -Name cexecsvc) { return $TRUE }
.