MessageHeaderAttribute.MustUnderstand Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Especifica se o nó que está atuando na Actor função deve entender esse cabeçalho. Isso é mapeado para o mustUnderstand atributo de cabeçalho SOAP.
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
Valor da propriedade
true se o nó que atua na Actor função deve entender esse cabeçalho; caso contrário, false.
Exemplos
O exemplo de código a seguir mostra o uso do MessageHeaderAttribute cabeçalho SOAP para a mensagem de resposta com o NameNamespaceMustUnderstand e as propriedades definidas como valores apropriados para esse cabeçalho. O exemplo de código é seguido por um exemplo da mensagem quando enviado.
[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
Comentários
Para obter mais informações, consulte a seção MessageHeaderAttribute Comentários para obter detalhes.
Importante
É importante lembrar que se a MustUnderstand propriedade estiver true em uma mensagem sendo enviada e o aplicativo no lado receptor não entender o cabeçalho, uma falha será gerada. Por outro lado, se um cabeçalho com o mustUnderstand atributo de cabeçalho SOAP definido como true for recebido pelo WCF (Windows Communication Foundation), ele deverá fazer parte do contrato de mensagem (ou deve ser processado por um dos canais do WCF (Windows Communication Foundation); caso contrário, supõe-se que o cabeçalho não seja compreendido e uma exceção seja gerada.