private static async void ThreadBody(object userContext) { while (true) { var deviceClient = userContext as DeviceClient; if (deviceClient == null) { throw new InvalidOperationException("UserContext doesn't contain " + "expected values"); } var heartbeatMessageBody = new HeartbeatMessageBody { timeCreated = DateTime.Now.ToString("hh:mm:ss") }; var jsonMessage = JsonConvert.SerializeObject(heartbeatMessageBody); var pipeMessage = new Message(Encoding.UTF8.GetBytes(jsonMessage)); pipeMessage.Properties.Add("content-type", "application/edge-heartbeat-json"); await deviceClient.SendEventAsync("output1", pipeMessage); Console.WriteLine($"Heartbeat sent {heartbeatMessageBody.timeCreated}"); Thread.Sleep(Interval); } }
private static async void ThreadBody(object userContext) { while (true) { var client = userContext as ModuleClient; if (client == null) { throw new InvalidOperationException("UserContext doesn't contain " + "expected values"); } _counter++; var heartbeatMessageBody = new HeartbeatMessageBody { deviceId = _deviceId, counter = _counter, timeStamp = DateTime.UtcNow, }; await _moduleOutputs.GetModuleOutput("output1")?.SendMessage(heartbeatMessageBody); Console.WriteLine($"Heartbeat {heartbeatMessageBody.counter} sent at {heartbeatMessageBody.timeStamp}"); Thread.Sleep(Interval); } }