Согласно MSDN, брокерское сообщение может быть отправлено через REST API, и это брокерское сообщение может иметь пару значений ключа свойств как часть сообщения. Мне удалось отправить сообщение через брокера, но когда я его получаю, поле «Свойства» в сообщении не заполняется. Я должен неправильно кодировать свойства JSON.
Вот фрагмент кода
WebClient webClient = new WebClient();
webClient.Headers[HttpRequestHeader.Authorization] = _token;
webClient.Headers["Content-Type"] = "application/atom+xml;type=entry;charset=utf-8";
Guid messageId = Guid.NewGuid();
webClient.Headers["BrokerProperties"] = @"{""MessageId"": ""{" + messageId.ToString("N") + @"}"", ""TimeToLive"" : 900, ""Properties"": [{""Key"" : ""ProjectId"", ""Value"" : """ + message.ProjectId + @"""}]}";
// Serialize the message
MemoryStream ms = new MemoryStream();
DataContractSerializer ser = new DataContractSerializer(typeof(RespondentCommitMessage));
ser.WriteObject(ms, message);
byte[] array = ms.ToArray();
ms.Close();
byte[] response = webClient.UploadData(fullAddress, "POST", array);
string responseStr = Encoding.UTF8.GetString(response);
У кого-нибудь есть пример отправки BrokeredMessage с использованием HTTP-заголовка BrokerProperties?