Share via


MessageHeaderAttribute.MustUnderstand Özellik

Tanım

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

public:
 property bool MustUnderstand { bool get(); void set(bool value); };
public bool MustUnderstand { get; set; }
member this.MustUnderstand : bool with get, set
Public Property MustUnderstand As Boolean

Özellik Değeri

true rolde hareket eden düğümün Actor bu üst bilgiyi anlaması gerekiyorsa, aksi takdirde , false.

Ö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

Daha fazla bilgi için, ayrıntılar için'in MessageHeaderAttribute Açıklamalar bölümüne bakın.

Önemli

Özellik gönderilen bir iletideyse true ve alıcı tarafındaki uygulamanın üst bilgiyi anlamaması durumunda MustUnderstand bir hatanın oluşturulduğunu unutmamak önemlidir. Buna karşılık, SOAP üst bilgisi özniteliği ayarlanmış true bir üst bilgi mustUnderstand Windows Communication Foundation (WCF) tarafından alınırsa, ileti sözleşmesinin bir parçası olmalıdır (veya Windows Communication Foundation (WCF) kanallarından biri tarafından işlenmelidir); aksi takdirde, üst bilginin anlaşılmadığı varsayılır ve bir özel durum oluşturulur.

Şunlara uygulanır