Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I det här avsnittet beskrivs meddelandehuvuden och egenskaper.
Meddelanderubriker
När du skickar ett meddelande kan du ange följande meddelandeegenskaper. Om ett enskilt meddelande skickas eller tas emot finns dessa egenskaper i HTTP-huvudet BrokerProperties i ett JSON-kodat format. Om en batch med meddelanden skickas är dessa egenskaper en del av den JSON-kodade HTTP-brödtexten. Mer information finns i Skicka meddelande och Skicka meddelande batch.
I följande tabell visas egenskaperna Microsoft.ServiceBus.Messaging.BrokeredMessage . Egenskaperna kan visas i valfri ordning. Om en egenskap inte anges använder Service Bus standardvärdet för den egenskapen. Andra egenskaper för asynkrona meddelandeköer än de som visas ignoreras. De godkända egenskaperna är oberoende av värdet för den angivna API-versionen. Api-versionsspecificeraren krävs inte i HTTP-begäran .
Om båda egenskaperna SessionId och PartitionKey har angetts måste de anges till samma värde.
Ett HTTP-huvud med namnet BrokerProperties innehåller alla BrokeredMessage rubriker. Egenskaperna är JSON-formaterade. Det gör det enkelt att utöka BrokeredMessage egenskaperna. Dessutom justeras den till webbprogrammeringsmodellen genom att använda det webvänliga JSON-formatet. Det gör det enkelt att skapa och använda meddelandeegenskaper med mindre strängparsning. Följande är ett exempel på BrokeredMessage rubriker:
BrokerProperties:  { “SessionId”: “{27729E1-B37B-4D29-AA0A-E367906C206E}”, “MessageId”: “{701332E1-B37B-4D29-AA0A-E367906C206E}”, “TimeToLive” : 90, “CorrelationId”: “{701332F3-B37B-4D29-AA0A-E367906C206E}”, “SequenceNumber“ : 12345, “DeliveryCount“ : 2, “To“ : "http://contoso.com“, “ReplyTo“ : "http://fabrikam.com“,  "EnqueuedTimeUtc“ : " Sun, 06 Nov 1994 08:49:37 GMT“, "ScheduledEnqueueTimeUtc“ : " Sun, 06 Nov 1994 08:49:37 GMT“}  
I följande tabell visas hur BrokeredMessage egenskaper mappas till HTTP-huvuden.
| BrokeredMessage(SBMP) Delar | Typ | HTTP-huvud | Tillgänglighet | HTTP Req/Res | 
|---|---|---|---|---|
| Contenttype | sträng | Content-Type | get, set | Req, Res | 
| CorrelationId | sträng | BrokerProperties{CorrelationId} | get, set | Req, Res | 
| SessionID | sträng | BrokerProperties {SessionId} | get, set | Req, Res | 
| DeliveryCount | int | BrokerProperties {DeliveryCount } | get | Res | 
| LockedUntilUtc | DateTime | BrokerProperties{LockedUntil} | get | Res | 
| LockToken | GUID | BrokerProperties{LockToken} | get | Res | 
| Messageid | sträng | BrokerProperties{MessageId} | get, set | Res | 
| Etikett | sträng | BrokerProperties {Label} | get, set | Req, Res | 
| ReplyTo | sträng | BrokerProperties {ReplyTo} | get, set | Req, Res | 
| EnqueuedTimeUtc | DateTime | Datum | get | Res | 
| SequenceNumber | long | BrokerProperties {SequenceNumber} | get | Res | 
| TimeToLive | TimeSpan | BrokerProperties-samling {TimeToLive} | get, set | Req, Res | 
| Om du vill | sträng | BrokerProperties {To} | get, set | Req, Res | 
| ScheduledEnqueueTimeUtc | DateTime | BrokerProperties {ScheduledEnqueueTimeUtc} | get, set | Req, Res | 
| ReplyToSessionId | sträng | BrokerProperties {ReplyToSessionId} | get, set | Req, Res | 
| PartitionKey | sträng | BrokerProperties {PartitionKey} | get, set | Req, Res | 
Förutom dessa egenskaper kan du ange anpassade egenskaper. Om ett enda meddelande skickas eller tas emot placeras varje anpassad egenskap i ett eget HTTP-huvud. Om en batch med meddelanden skickas är anpassade egenskaper en del av den JSON-kodade HTTP-brödtexten. Mer information finns i Skicka meddelande och Skicka meddelande batch.
Kommentarer
- DateTimerubriker formateras enligt definitionen av RFC2616: https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3. Till exempel "Sön, 06 nov 1994 08:49:37 GMT".
- BrokerProperties {TimeToLive} är antalet sekunder av TimeSpan (dubbelt). 
- ExpiresAtUtchar inte någon motsvarande HTTP-rubrik eftersom den kan härledas från- Dateoch- BrokerProperties {TimeToLive}.
- Meddelandehuvuden med en get-accessor kan bara visas i HTTP-svaret (till exempel mottaget meddelande). När de här rubrikerna finns i HTTP-begäran (dvs. skickat meddelande) ignoreras de tyst. Okända HTTP-huvuden ignoreras också tyst. 
- Om värdet är felaktigt returneras en lämplig HTTP-statuskod till klienten. 
Meddelandeegenskaper
Meddelandeegenskaper är användardefinierade nyckel/värde-par som finns i message.Properties. För den tjocka SBMP-klienten är värdena begränsade till byte, sbyte, char, short, ushort, uintint, long, , ulong, float, decimaldoublebool, Guid, string, Uri, , DateTime, DateTimeOffsetoch .TimeSpan
För REST/HTTP Uri och DateTimeOffset stöds inte (om de finns i BrokeredMessageingår de inte i HTTP-huvudena). GUID-typer konverteras till strängar och TimeSpan typer konverteras till "totalt antal sekunder". På grund av dessa konverteringar går typåtergivningen förlorad. Alla egenskapsnamn som motsvarar det begränsade HTTP-huvudet (till exempel Connection, Expectoch så vidare) undantas också.
Varje nyckel/värde-par i message.Properties mappas till ett HTTP-huvud i följande format. 
              prop är nyckelnamnet och value är strängrepresentationen av värdet:
prop_name: value  
Typen av värde härleds. Om den är omgiven av dubbla citattecken:
- Om innehållet har formen av en RFC2616-datumtid behandlar mäklaren det som en - System.DateTime.
- Annars tar asynkron meddelandekö bort citattecknarna och behandlar innehållet som en - System.String.
Om den inte är omgiven av dubbla citattecken:
- Om innehållet är sant eller falskt (skiftlägeskänsligt!) behandlar mäklaren det som ett - System.Booleanmed motsvarande värde.
- Om innehållet kan parsas som ett heltal behandlar mäklaren det som ett System.Int64. 
- Om innehållet kan parsas som ett flyttalsnummer behandlar mäklaren det som ett - System.Double.
- Annars avvisar asynkron meddelandekö. 
Exempel:
product: Windows 7 Ultimate  
price: 299.98  
order-time: Fri, 04 Mar 2011 08:49:37 GMT  
Meddelandetext
Inga konverteringar utförs mellan HTTP-begäran/svarstextströmmen och BrokerMessage.BodyStream. 
              Content-Type Dessutom bevaras huvudet från HTTP-begäran och returneras till meddelandemottagaren så att programmet kan tolka bytena i brödtexten korrekt.
Om meddelandet skapas med den tjocka SBMP-klienten utan en anpassad XML-objektserialiserare kommer innehållstypen som standard att vara "application/msbin1", vilket är DataContractBinarySerializer, såvida inte programmet uttryckligen ändrar det (till exempel message.ContectType=”application/mytype”) när meddelandet har skapats. Det här innehållstypsvärdet returneras till HTTP-konsumenten. Det är programmets ansvar att bestämma hur bytena i brödtexten ska deserialiseras.
WCF Service Bus-bindningen anger ContentType till meddelandekodarens ContentType. Om till exempel en textmeddelandekodare används förväntas den Content-Type vara “application/soap+xml”.
Meddelandekonvertering
Konvertering mellan en HTTP-begäran/ett svar och ett meddelande utförs hos HTTP-meddelandekörningsprovidern. Konverteringsmetoderna utökas för att inkludera mappningen av sidhuvud/egenskaper i tabellen tidigare i det här avsnittet och för att bevara meddelandets innehållstyp.