После того, как мне пришлось провести небольшое исследование / работу с API REST для служебной шины Azure, я избавлю вас, ребята, от необходимости копаться в примере чата silverlight, указанном в принятом ответе, и предоставлю вам фактическое снижение. .
Вам нужно знать только две вещи:
1) Заголовок HTTP-запроса BrokerProperties не эквивалентен коллекции BrokeredMessage.Properties
Словарь свойств объекта BrokeredMessage представляет собой набор пользовательских свойств, в то время как заголовок HTTP-запроса BrokerProperties - это место, где вы указываете встроенные свойства, обычно связанные с BrokeredMessage, такие как Label, TimeToLive и т. Д.
2) Все пользовательские заголовки HTTP-запросов обрабатываются как пользовательские свойства
Из MSDN: В дополнение к этим свойствам (имеется в виду BrokerProperties), вы можете указать пользовательские свойства. Если отправлено или получено одно сообщение, каждое настраиваемое свойство помещается в собственный заголовок HTTP. Если пакет сообщений отправляется, пользовательские свойства являются частью тела HTTP в кодировке JSON.
Таким образом, это означает, что все, что вам нужно сделать, чтобы добавить свои пользовательские свойства, это добавить заголовок, например:
public static void SendMessageHTTP(string bodyContent, params KeyValuePair<string,object>[] properties)
{
//BrokeredMessage message = new BrokeredMessage(bodyContent);
//foreach(var prop in properties)
//{
// message.Properties[prop.Key] = prop.Value;
//}
...
WebClient webClient = new WebClient();
webClient.Headers[HttpRequestHeader.Authorization] = token;
webClient.Headers[HttpRequestHeader.ContentType] = "application/atom+xml;type=entry;charset=utf-8";
foreach (var prop in properties)
{
webClient.Headers[prop.Key] = prop.Value.ToString();
}
webClient.Headers["MyCustomProperty"] = "Value";
webClient.UploadData(messageQueueURL, "POST", Encoding.UTF8.GetBytes(bodyContent));
}
Очень полезными являются чтение ссылки MSDN на конечную точку API отправки сообщений и введение в сам REST API (здесь говорится о пользовательских свойствах). В документации по веб-сайту Azure также есть статья с примером кода .