MessageHeaderAttribute.MustUnderstand Eigenschap

Definitie

Hiermee geeft u op of het knooppunt dat in de Actor rol optreedt, deze header moet begrijpen. Dit is toegewezen aan het mustUnderstand SOAP-headerkenmerk.

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

Waarde van eigenschap

true als het knooppunt dat in de Actor rol optreedt, deze header moet begrijpen; falseanders.

Voorbeelden

Het volgende codevoorbeeld toont het gebruik van het MessageHeaderAttribute maken van een SOAP-header voor het antwoordbericht met de NamespaceNameMustUnderstand eigenschappen die zijn ingesteld op waarden die geschikt zijn voor deze header. Het codevoorbeeld wordt gevolgd door een voorbeeld van het bericht wanneer het wordt verzonden.

 [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

Opmerkingen

Zie de sectie Opmerkingen van MessageHeaderAttribute voor meer informatie.

Important

Het is belangrijk te onthouden dat als de MustUnderstand eigenschap true zich in een bericht bevindt dat wordt verzonden en de toepassing aan de ontvangende zijde niet begrijpt dat de header een fout wordt gegenereerd. Als een koptekst met de mustUnderstand SOAP-headerkenmerk is ingesteld op true wordt ontvangen door Windows Communication Foundation (WCF), moet deze deel uitmaken van het berichtcontract (of moeten worden verwerkt door een van de Windows Communication Foundation (WCF)-kanalen); anders wordt ervan uitgegaan dat de header niet wordt begrepen en dat er een uitzondering wordt gegenereerd.

Van toepassing op