public static async Task SBQueueListener( [ServiceBusTrigger("monitor")] BrokeredMessage msg, TextWriter logger) { var contentType = msg.ContentType; logger.WriteLine("Enqued Sequence Number" + msg.EnqueuedSequenceNumber); try { if (hub.State == ConnectionState.Disconnected) { hub.Start().Wait(); } using (var stream = msg.GetBody<Stream>()) { var reader = new StreamReader(stream); var body = reader.ReadToEnd(); int startBody = body.IndexOf("{"); int endBody = body.LastIndexOf("}"); body = body.Substring(startBody, endBody - startBody + 1); var rcvdDevStatus = JsonConvert.DeserializeObject<DeviceStatus>(body); var deviceStatus = new DeviceStatus() { DeviceId = rcvdDevStatus.DeviceId, tempavg = rcvdDevStatus.tempavg, accelxavg = rcvdDevStatus.accelxavg, accelyavg = rcvdDevStatus.accelyavg, accelzavg = rcvdDevStatus.accelzavg, Status = "normal", time = rcvdDevStatus.time }; int currentStatus = 0; if (rcvdDevStatus.tempavg > 32) { currentStatus = 1; deviceStatus.Status = "Too Hot!"; } else { currentStatus = 2; } if (LastStatus != currentStatus) { proxy.Invoke("Update", new[] { deviceStatus }); LastStatus = currentStatus; if (stepHub.State == ConnectionState.Disconnected) { stepHub.Start().Wait(); stepProxy.Invoke("Notify", new[] { new IoTKitHolTrackingPacket() { DeviceId =deviceStatus.DeviceId, HolVersion ="V3", HolStep ="Step9", Message ="Working" } }); } } logger.WriteLine(body); } // msg. msg.Complete(); } catch (Exception ex) { logger.WriteLine("Failed - " + ex.Message); } } static int LastStatus = 0;
public static async Task SBQueueListener( [ServiceBusTrigger("monitor")] BrokeredMessage msg, TextWriter logger) { var contentType = msg.ContentType; logger.WriteLine("Enqued Sequence Number" + msg.EnqueuedSequenceNumber); try { if (hub.State == ConnectionState.Disconnected) { hub.Start().Wait(); } using (var stream = msg.GetBody <Stream>()) { var reader = new StreamReader(stream); var body = reader.ReadToEnd(); int startBody = body.IndexOf("{"); int endBody = body.LastIndexOf("}"); body = body.Substring(startBody, endBody - startBody + 1); var rcvdDevStatus = JsonConvert.DeserializeObject <DeviceStatus>(body); var deviceStatus = new DeviceStatus() { DeviceId = rcvdDevStatus.DeviceId, tempavg = rcvdDevStatus.tempavg, accelxavg = rcvdDevStatus.accelxavg, accelyavg = rcvdDevStatus.accelyavg, accelzavg = rcvdDevStatus.accelzavg, Status = "normal", time = rcvdDevStatus.time }; int currentStatus = 0; if (rcvdDevStatus.tempavg > 32) { currentStatus = 1; deviceStatus.Status = "Too Hot!"; } else { currentStatus = 2; } if (LastStatus != currentStatus) { proxy.Invoke("Update", new[] { deviceStatus }); LastStatus = currentStatus; if (stepHub.State == ConnectionState.Disconnected) { stepHub.Start().Wait(); stepProxy.Invoke("Notify", new[] { new IoTKitHolTrackingPacket() { DeviceId = deviceStatus.DeviceId, HolVersion = "V3", HolStep = "Step9", Message = "Working" } }); } } logger.WriteLine(body); } // msg. msg.Complete(); } catch (Exception ex) { logger.WriteLine("Failed - " + ex.Message); } }