0
我是Microsoft Azure IoT Hub的新成員。我想要獲取IoT Hub中的設備列表,並檢查列表中是否有設備。從Azure IoT Hub獲取設備列表
它的工作很好,如果我使用控制檯應用程序。
static async void QueryDevices()
{
registryManager = RegistryManager.CreateFromConnectionString(DeviceConnectionString);
var devices = await registryManager.GetDevicesAsync(100); // Time 1 sek
foreach (var item in devices)
{
Console.WriteLine("Divice id: " + item.Id + ", Connection state: " + item.ConnectionState);
}
Console.WriteLine("\nNumber of devices: " + devices.Count());
}
但是,如果使用「相同」的代碼在的WebAPI的GetDevicesAsync()
保持運行,沒有任何結果運行。
public bool CheckIoTHubConnection(string iotHubConnectionString)
{
registryManager = RegistryManager.CreateFromConnectionString(iotHubConnectionString);
return CreateConnection().Result;
}
private async Task<bool> CreateConnection()
{
bool connectionOk = false;
try
{
// Gets all devices from IoT Hub
var result = await registryManager.GetDevicesAsync(10); // This never gets further
if (result.Any())
connectionOk = true;
}
catch (Exception ex)
{
connectionOk = false;
throw ex;
}
return connectionOk;
}
我在做什麼錯?
感謝麗塔。現在它的工作很好 –