Я видел много постов, касающихся того, что, по моему мнению, должно быть относительно простой задачей.В рамках наших критериев лицензирования мы определяем, работаем ли мы в виртуализированной среде.Однако некоторые идентификаторы, которые мы использовали, могут измениться в результате освобождения виртуальных машин, поэтому мы начали искать замену некоторых из них уникальным идентификатором Azure (UUID).Но для этого нам нужно внести изменения в наш лицензионный код, чтобы правильно определить, что мы работаем в лазурной среде.Я видел много постов, касающихся использования Azure SDK и RoleEnvironment, но я считаю, что это не работает при работе на управляемых виртуальных машинах IaaS (при копировании необходимых библиотек DLL через).
Так что в идеале нам нужен способв приложении .NET, не имея зависимостей от Azure SDK, чтобы мы могли правильно идентифицировать виртуальную машину Azure, а не стандартную виртуальную машину.Это может включать в себя ключи реестра, поиск WMI и т. Д.
Я отмечу существующее решение, найденное на веб-сайте технической поддержки microsoft Сценарий обнаружения виртуальной машины Windows Azure , но поскольку код, который мы выполняем,в целом для работы со всеми типами сред это не очень практично.