Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
            }
        }