static async void SendMessages(object userContext) { int counterValue = Interlocked.Increment(ref counter); var deviceClient = userContext as DeviceClient; if (deviceClient == null) { throw new InvalidOperationException("UserContext doesn't contain " + "expected values"); } while (true) { DeviceMessage brMessage = GetSimulatedMessage(); Microsoft.Azure.Devices.Client.Message message = new Microsoft.Azure.Devices.Client.Message(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(brMessage))); byte[] messageBytes = message.GetBytes(); string messageString = Encoding.UTF8.GetString(messageBytes); if (!string.IsNullOrEmpty(messageString)) { foreach (var prop in message.Properties) { message.Properties.Add(prop.Key, prop.Value); } await deviceClient.SendEventAsync("output1", message); Console.WriteLine("Received message sent"); } Console.WriteLine(MessageResponse.Completed); Thread.Sleep(10000); } }
static DeviceMessage GetSimulatedMessage() { DeviceMessage message = new DeviceMessage(); try { message.Name = "Message Name"; message.TimeStamp = DateTime.Now; message.OutputFormat = "JSON"; message.Message.Log.logDateTime = DateTime.Now; message.Message.Log.aFloatValue = (float)random.NextDouble(); message.Message.Log.aStringValue = "String Value"; message.Message.Log.anIntValue = random.Next(); } catch (Exception e) { Console.WriteLine(e.ToString()); } return(message); }