Exemple #1
0
        public static async Task SendMessageDataAsync(string deviceId, string iotHub, string sas, DeviceMessage message,
                                                      CancellationToken cancellationToken)
        {
            Uri baseAddress = new UriBuilder("https", string.Concat(iotHub, IoTHubUrlPostfix), 443).Uri;
            Uri endPoint    =
                new Uri(
                    string.Format(CultureInfo.InvariantCulture, DeviceMessageRequestUriFromat, deviceId,
                                  ApiVersionQueryString),
                    UriKind.Relative);
            IDictionary <string, string> properties = new Dictionary <string, string>();

            if (message.CorrelationId != string.Empty)
            {
                properties.Add(MessageCorrelationIdHeaderKey, message.CorrelationId);
            }
            if (message.MessageId != string.Empty)
            {
                properties.Add(MessageMessageIdHeaderKey, message.MessageId);
            }
            if (message.UserId != string.Empty)
            {
                properties.Add(MessageUserIdHeaderKey, message.UserId);
            }
            foreach (KeyValuePair <string, string> pair in message.Properties)
            {
                properties.Add(string.Concat(MessagePropertyHeaderPrefix, pair.Key), pair.Value);
            }
            await
            SendWebRequest(baseAddress, endPoint, HttpMethod.Post, sas, message.Data, cancellationToken, properties);
        }
Exemple #2
0
 public static async Task SendMessageDataAsync(string deviceId, string iotHub, string sas, DeviceMessage message)
 {
     await SendMessageDataAsync(deviceId, iotHub, sas, message, CancellationToken.None);
 }