MessageHeaderAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Azt adja meg, hogy az adattag egy SOAP-üzenetfejléc.
public ref class MessageHeaderAttribute : System::ServiceModel::MessageContractMemberAttribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false, Inherited=false)]
public class MessageHeaderAttribute : System.ServiceModel.MessageContractMemberAttribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, AllowMultiple=false, Inherited=false)>]
type MessageHeaderAttribute = class
inherit MessageContractMemberAttribute
Public Class MessageHeaderAttribute
Inherits MessageContractMemberAttribute
- Öröklődés
- Származtatott
- Attribútumok
Példák
Az alábbi példakód azt mutatja be, hogy a MessageHeaderAttribute válaszüzenethez Namea SOAP-fejlécet kell létrehozni, Namespace a MustUnderstand tulajdonságok pedig az adott fejlécnek megfelelő értékekre vannak beállítva. A kód példáját az üzenet elküldésekor egy példa követi.
[MessageContract]
public class HelloResponseMessage
{
private string localResponse = String.Empty;
private string extra = String.Empty;
[MessageBodyMember(
Name = "ResponseToGreeting",
Namespace = "http://www.examples.com")]
public string Response
{
get { return localResponse; }
set { localResponse = value; }
}
[MessageHeader(
Name = "OutOfBandData",
Namespace = "http://www.examples.com",
MustUnderstand=true
)]
public string ExtraValues
{
get { return extra; }
set { this.extra = value; }
}
/*
The following is the response message, edited for clarity.
<s:Envelope>
<s:Header>
<a:Action s:mustUnderstand="1">http://HelloResponseMessage/Action</a:Action>
<h:OutOfBandData s:mustUnderstand="1" xmlns:h="http://www.examples.com">Served by object 13804354.</h:OutOfBandData>
</s:Header>
<s:Body>
<HelloResponseMessage xmlns="Microsoft.WCF.Documentation">
<ResponseToGreeting xmlns="http://www.examples.com">Service received: Hello.</ResponseToGreeting>
</HelloResponseMessage>
</s:Body>
</s:Envelope>
*/
}
<MessageContract> _
Public Class HelloResponseMessage
Private localResponse As String = String.Empty
Private extra As String = String.Empty
<MessageBodyMember(Name := "ResponseToGreeting", Namespace := "http://www.examples.com")> _
Public Property Response() As String
Get
Return localResponse
End Get
Set(ByVal value As String)
localResponse = value
End Set
End Property
<MessageHeader(Name := "OutOfBandData", Namespace := "http://www.examples.com", MustUnderstand:=True)> _
Public Property ExtraValues() As String
Get
Return extra
End Get
Set(ByVal value As String)
Me.extra = value
End Set
End Property
'
' The following is the response message, edited for clarity.
'
' <s:Envelope>
' <s:Header>
' <a:Action s:mustUnderstand="1">http://HelloResponseMessage/Action</a:Action>
' <h:OutOfBandData s:mustUnderstand="1" xmlns:h="http://www.examples.com">Served by object 13804354.</h:OutOfBandData>
' </s:Header>
' <s:Body>
' <HelloResponseMessage xmlns="Microsoft.WCF.Documentation">
' <ResponseToGreeting xmlns="http://www.examples.com">Service received: Hello.</ResponseToGreeting>
' </s:Body>
' </s:Envelope>
'
End Class
Megjegyzések
Az MessageHeaderAttribute attribútum lehetővé teszi egy SOAP-üzenetfejlécek attribútumával MessageContractAttribute megjelölt típus mezőinek és tulajdonságainak leképezését. A mező vagy tulajdonság lehet egyszerű vagy szerializálható összetett típus.
A SOAP-törzs tartalmának az alapértelmezett SOAP-boríték módosítása nélküli szerializálásának szabályozásával kapcsolatos információkért lásd: System.Runtime.Serialization.DataContractAttributeAz adatátvitel megadása a szolgáltatási szerződésekben és az Adatszerződések használata.
További információ az üzenetszerződések létrehozásáról: Üzenetszerződések használata.
A SOAP szabvány az alábbi attribútumokat határozza meg, amelyek egy fejlécen létezhetnek:
ActorvagyRole(Actora SOAP 1.1-ben,Rolea SOAP 1.2-ben)MustUnderstandRelay
Az Actor vagy Role attribútum annak a csomópontnak az URI-ját adja meg, amelyhez egy adott fejlécet szánnak. Az MustUnderstand attribútum azt határozza meg, hogy a fejléc megérti-e a csomópont feldolgozását. Az Relay attribútum megadja, hogy a fejléc tovább legyen-e továbbítva az alsóbb rétegbeli csomópontokra. Windows kommunikációs alaprendszer (WCF) nem végzi el ezen attribútumok feldolgozását a bejövő üzeneteken, kivéve a MustUnderstand attribútumot.
Ezeket az attribútumokat azonban elolvashatja és megírhatja, még akkor is, ha alapértelmezés szerint nem küldi el őket. Az attribútumértékeket kétféleképpen állíthatja be. Először is módosíthatja a Actor. MustUnderstandRelayMessageHeaderAttribute (Nincs Role tulajdonság – adja meg a Actor tulajdonságot, és Role a SOAP 1.2 használata esetén a rendszer átadja. Például:
Az attribútumok szabályozásának második módja az, ha a kívánt fejléctípust az MessageHeader<T> osztály típusparaméterének adja meg, és az eredményként kapott típust használja a MessageHeaderAttribute. Ezután a MessageHeader<T> tulajdonságok programozott használatával állítsa be a SOAP attribútumokat. Például:
Ha mind a dinamikus, mind a statikus vezérlési mechanizmust használja, a statikus beállítások az alapértelmezettek, de felül lehet bírálni a dinamikus mechanizmussal. Például:
Az ismétlődő fejlécek dinamikus attribútumvezérlővel való létrehozása engedélyezett. Például:
[MessageHeaderArray] public MessageHeader<Person> documentApprovers[];
A fogadó oldalon ezek a SOAP-attribútumok olvasása csak az általános MessageHeader<T> osztály használata esetén végezhető el. ActorA kapott üzenet attribútumbeállításainak felderítéséhez vizsgálja meg a Relay típus fejlécének tulajdonságait MustUnderstand vagy MessageHeader<T> tulajdonságait.
Amikor egy üzenet érkezik, majd visszaküldi az üzenetet, a SOAP attribútum beállításai csak a típus fejléceinek kerekítését MessageHeader<T> adják meg.
Konstruktorok
| Name | Description |
|---|---|
| MessageHeaderAttribute() |
Inicializálja a MessageHeaderAttribute osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| Actor |
Lekéri vagy beállít egy URI-t, amely azt a csomópontot jelzi, amelyen ez a fejléc van megcélzva. A SOAP 1.2 használatakor a szerepkörfejléc attribútumra, a SOAP 1.1 használatakor pedig az aktorfejléc attribútumra lesz leképzve. |
| HasProtectionLevel |
Ha egy származtatott osztályban felül van bírálva, egy olyan értéket kap, amely jelzi, hogy a taghoz hozzárendelt védelmi szint van-e hozzárendelve. (Öröklődés forrása MessageContractMemberAttribute) |
| MustUnderstand |
Megadja, hogy a szerepkörben Actor eljáró csomópontnak meg kell-e értenie ezt a fejlécet. Ez a SOAP fejléc attribútumra |
| Name |
A tagnak megfelelő elem nevét adja meg. (Öröklődés forrása MessageContractMemberAttribute) |
| Namespace |
A tagnak megfelelő elem névterét adja meg. (Öröklődés forrása MessageContractMemberAttribute) |
| ProtectionLevel |
Megadja, hogy a tagot as-is, aláírt vagy aláírt és titkosított formátumban kell-e továbbítani. (Öröklődés forrása MessageContractMemberAttribute) |
| Relay |
Megadja, hogy a fejléc tovább legyen-e továbbítva az alsóbb rétegbeli csomópontokra. Ez a SOAP fejléc attribútumra |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |