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, AllowMultiple=false, Inherited=false)>]
type MessageHeaderAttribute = class
inherit MessageContractMemberAttribute
Public Class MessageHeaderAttribute
Inherits MessageContractMemberAttribute
- Devralma
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki kod örneğinde , ve NameNamespaceMustUnderstand özellikleri bu üst bilgi için uygun değerlere ayarlanmış yanıt iletisi için soap üst bilgisi oluşturmak için kullanımı MessageHeaderAttribute gösterilmektedir. Kod örneğinin ardından gönderildiğinde iletinin bir örneği gösterilir.
[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 serileştirilebilen bileşik bir 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 mevcut olabilecek aşağıdaki öznitelikleri tanımlar:
ActorveyaRole(ActorSOAP 1.1'de,RoleSOAP 1.2'de)MustUnderstandRelay
Actor or Role özniteliği, belirli bir üst bilginin hedeflendiği düğümün URI'sini belirtir.
MustUnderstand özniteliği, üst bilginin düğüm işlemeyi anlayıp anlayamayacağını belirtir.
Relay özniteliği, üst bilginin aşağı akış düğümlerine aktarılıp aktarılmayacağını 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 MustUnderstandRelay ö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 program aracılığıyla özelliklerini 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ı tarafında, 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 , Relay veya MustUnderstand özelliklerini inceleyin.
bir ileti alındığında ve sonra geri gönderildiğinde, SOAP öznitelik ayarları yalnızca türündeki MessageHeader<T> üst bilgiler için gidiş dönüş yapar.
Oluşturucular
| Name | Description |
|---|---|
| MessageHeaderAttribute() |
MessageHeaderAttribute sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| 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 eşler. |
| HasProtectionLevel |
Türetilmiş bir sınıfta geçersiz kılındığında, üyenin atanmış bir koruma düzeyi olup olmadığını gösteren bir değer alır. (Devralındığı yer: MessageContractMemberAttribute) |
| MustUnderstand |
Rolde davranan düğümün Actor bu üst bilgiyi anlayıp anlamayacağını belirtir. Bu, SOAP üst bilgi özniteliğine |
| 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 as-isiletilip aktarılmayacağını veya imzalanıp şifrelenmeyeceğini belirtir. (Devralındığı yer: MessageContractMemberAttribute) |
| Relay |
Bu üst bilginin aşağı akış düğümlerine aktarılıp aktarılmayacağını belirtir. Bu, SOAP üst bilgi özniteliğine |
| 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
| Name | Description |
|---|---|
| Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. (Devralındığı yer: Attribute) |
| GetType() |
Geçerli örneğin Type 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 Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| _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 kullanıma sunulan özelliklere ve yöntemlere erişim sağlar. (Devralındığı yer: Attribute) |