MessageHeaderAttribute.MustUnderstand Proprietà

Definizione

Specifica se è necessario che il nodo che svolge il ruolo Actor riconosca questa intestazione. Questa proprietà è associata all'attributo di intestazione SOAP mustUnderstand.

C#
public bool MustUnderstand { get; set; }

Valore della proprietà

true se è necessario che il nodo che svolge il ruolo Actor riconosca questa intestazione. In caso contrario, false.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare MessageHeaderAttribute per creare un'intestazione SOAP per il messaggio di risposta le cui proprietà Name, Namespace e MustUnderstand sono impostate su valori appropriati per tale intestazione. L'esempio di codice è seguito da un esempio del messaggio quando viene inviato.

C#
 [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>
   */
}

Commenti

Per ulteriori informazioni, vedere la sezione Note di MessageHeaderAttribute.

Importante

È importante ricordare che se la proprietà MustUnderstand di un messaggio inviato è true e l'applicazione sul lato ricevente non riconosce l'intestazione, il sistema genera un errore. Al contrario, se un'intestazione con l'attributo di intestazione SOAP impostata su true viene ricevuta da Windows Communication Foundation (WCF), deve essere una parte del contratto di messaggio (o deve essere elaborata da uno dei canali WINDOWS Communication Foundation (WCF). In caso contrario, si presuppone che l'intestazione mustUnderstand non sia compresa e venga generata un'eccezione.

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)