Aracılığıyla paylaş


MessageHeaderAttribute Sınıf

Tanım

Veri üyesinin SOAP ileti üst bilgisi olduğunu belirtir.

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, 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
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Property, Inherited=false)>]
type MessageHeaderAttribute = class
    inherit MessageContractMemberAttribute
Public Class MessageHeaderAttribute
Inherits MessageContractMemberAttribute
Devralma
Türetilmiş
Öznitelikler

Örnekler

Aşağıdaki kod örneği, Namespace yanıt iletisi Nameiçin , ve MustUnderstand özellikleri bu üst bilgi için uygun değerlere ayarlanmış bir SOAP üst bilgisi oluşturmak için öğesinin kullanımını MessageHeaderAttribute gösterir. Kod örneğini, gönderildiğinde iletinin bir örneği izler.

 [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

Açıklamalar

özniteliği, MessageHeaderAttribute özniteliğiyle işaretlenmiş bir türün alanlarını ve özelliklerini SOAP ileti üst bilgileriyle MessageContractAttribute eşlemenize olanak tanır. Alan veya özellik basit bir türde veya seri hale getirilebilen bileşik türde olabilir.

Varsayılan SOAP zarfını değiştirmeden SOAP gövdesinin içeriğinin seri hale getirilmesini denetleme hakkında bilgi için bkz System.Runtime.Serialization.DataContractAttribute. , Hizmet Sözleşmelerinde Veri Aktarımı Belirtme ve Veri Sözleşmelerini Kullanma.

İleti sözleşmeleri oluşturma hakkında daha fazla bilgi için bkz. İleti Sözleşmelerini Kullanma.

SOAP standardı, bir üst bilgide bulunabilecek aşağıdaki öznitelikleri tanımlar:

  • Actor veya Role (Actor SOAP 1.1'de, Role SOAP 1.2'de)

  • MustUnderstand

  • Relay

Actor or Role özniteliği, belirli bir üst bilginin hedeflendiği düğümün URI'sini belirtir. özniteliği, MustUnderstand üst bilginin düğüm işlemeyi anlayıp anlamadığını belirtir. Relay özniteliği, üst bilginin aşağı akış düğümlerine geçirilip geçirilmeyeceğini belirtir. Windows Communication Foundation (WCF), öznitelik dışında MustUnderstand gelen iletilerde bu özniteliklerin herhangi bir işlemini gerçekleştirmez.

Ancak, varsayılan olarak gönderilmeseler bile bu öznitelikleri okuyabilir ve yazabilirsiniz. Öznitelik değerlerini iki şekilde ayarlayabilirsiniz. İlk olarak, üzerindeki MessageHeaderAttributeve MustUnderstand Relay özelliklerini değiştirebilirsinizActor. (Özellik yok Role - özelliği ayarlayın Actor ve Role SOAP 1.2 kullanılıyorsa geçirilir). Örneğin:

Bu öznitelikleri denetlemenin ikinci yolu, istenen üst bilgi türünü sınıfın MessageHeader<T> tür parametresi yapmak ve sonuçta elde edilen türü ile birlikte kullanmaktır MessageHeaderAttribute. Ardından SOAP özniteliklerini ayarlamak için özellikleri program aracılığıyla kullanın MessageHeader<T> . Örneğin:

Hem dinamik hem de statik denetim mekanizmaları kullanılıyorsa, statik ayarlar varsayılandır, ancak dinamik mekanizma kullanılarak geçersiz kılınabilir. Örneğin:

Dinamik öznitelik denetimiyle yinelenen üst bilgiler oluşturmaya izin verilir. Örneğin:

[MessageHeaderArray] public MessageHeader<Person> documentApprovers[];  

Alıcı tarafta, bu SOAP özniteliklerini okumak yalnızca genel MessageHeader<T> sınıf kullanılıyorsa yapılabilir. Alınan iletideki Actoröznitelik ayarlarını bulmak için türün MessageHeader<T> üst bilgisinin veya Relay MustUnderstand özelliklerini inceleyin.

bir ileti alınıp geri gönderildiğinde SOAP öznitelik ayarları yalnızca türün MessageHeader<T> üst bilgileri için gidiş dönüş yapar.

Oluşturucular

MessageHeaderAttribute()

MessageHeaderAttribute sınıfının yeni bir örneğini başlatır.

Özellikler

Actor

Bu üst bilginin hedeflendiği düğümü gösteren bir URI alır veya ayarlar. SOAP 1.2 kullanıldığında rol üst bilgisi özniteliğine ve SOAP 1.1 kullanıldığında aktör üst bilgisi özniteliğine Haritalar.

HasProtectionLevel

Türetilmiş bir sınıfta geçersiz kılındığında, üyeye bir koruma düzeyi atanıp atanmadığını belirten bir değer alır.

(Devralındığı yer: MessageContractMemberAttribute)
MustUnderstand

Rolde hareket eden düğümün Actor bu üst bilgiyi anlayıp anlamayacağını belirtir. Bu, SOAP üst bilgisi özniteliğiyle mustUnderstand eşlenir.

Name

Bu üyeye karşılık gelen öğenin adını belirtir.

(Devralındığı yer: MessageContractMemberAttribute)
Namespace

Bu üyeye karşılık gelen öğenin ad alanını belirtir.

(Devralındığı yer: MessageContractMemberAttribute)
ProtectionLevel

Üyenin olduğu gibi iletilip aktarılmayacağını, imzalanıp imzalanmayacağını veya şifrelenip şifrelenmeyeceğini belirtir.

(Devralındığı yer: MessageContractMemberAttribute)
Relay

Bu üst bilginin aşağı akış düğümlerine geçirilip geçirilmeyeceğini belirtir. Bu, SOAP üst bilgisi özniteliğiyle relay eşlenir.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır