/// <summary> /// Send message to Azure Event Hub using HTTP/REST API /// </summary> /// <param name="message"></param> public async void sendMeasure(SensorTelemetryData measure) { measure = ApplySettingsToMeasure(measure); string message = measure.ToJson(); if (this.EventHubConnectionInitialized) { try { HttpStringContent content = new HttpStringContent(message, Windows.Storage.Streams.UnicodeEncoding.Utf8, "application/json"); HttpResponseMessage postResult = await httpClient.PostAsync(uri, content); if (postResult.IsSuccessStatusCode) { Debug.WriteLine("Message Sent: {0}", content); } else { Debug.WriteLine("Failed sending message: {0}", postResult.ReasonPhrase); } } catch (Exception e) { Debug.WriteLine("Exception when sending message:" + e.Message); } } }
/// <summary> /// Send message to Azure Event Hub using HTTP/REST API /// </summary> /// <param name="message"></param> public async void sendMeasure(SensorTelemetryData measure) { bool hasMutex = false; try { hasMutex = mutex.WaitOne(1000); if (hasMutex) { if (this.deviceClient == null) InitIoTHubConnection(); measure = ApplySettingsToMeasure(measure); string message = measure.ToJson(); var msgBytes = new Message(Encoding.UTF8.GetBytes(message)); await this.deviceClient.SendEventAsync(msgBytes); Debug.WriteLine("Sent: {0}", message); } } catch(Exception ex) { Debug.WriteLine("Exception when sending message:" + ex.Message); } finally { if (hasMutex) { mutex.ReleaseMutex(); } } }