private async Task ConnectAllDevices(CancellationToken stopToken) { foreach (var d in deviceRepository.AllDevices()) { logger.LogInformation($"Connecting device {d.IothubDeviceId}"); try { var handler = CreateIoTEdgeMessageHandler(d.IotEdgeController); var mqttHandler = CreateMqttMessageHandler(d.MqttController); var client = CompositeDeviceClient.CreateInModule(Configuration, d, handler, mqttHandler, clock, loggerFactory); await client.Connect(stopToken); logger.LogInformation($"mqttSubscription: {d.LocalDeviceMqttSubscriptions.DeviceToCloudTopics[0]}"); connectedClients.Add(client); } catch (Exception ex) { logger.LogError($"Error creating composite device ({d.IothubDeviceId}, {d.LocalDeviceId}) with error: {ex}"); } } await Task.CompletedTask; }