MessageHeaderAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
veyaRole
(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 |
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 |
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) |