Freigeben über


SoapHeader.DidUnderstand-Eigenschaft

Ruft einen Wert ab, der angibt, ob eine XML-Webdienstmethode einen SOAP-Header richtig verarbeitet hat, oder legt diesen Wert fest.

Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)

Syntax

'Declaration
Public Property DidUnderstand As Boolean
'Usage
Dim instance As SoapHeader
Dim value As Boolean

value = instance.DidUnderstand

instance.DidUnderstand = value
public bool DidUnderstand { get; set; }
public:
property bool DidUnderstand {
    bool get ();
    void set (bool value);
}
/** @property */
public boolean get_DidUnderstand ()

/** @property */
public void set_DidUnderstand (boolean value)
public function get DidUnderstand () : boolean

public function set DidUnderstand (value : boolean)

Eigenschaftenwert

true, wenn der SOAP-Header richtig verarbeitet wurde, andernfalls false.

Hinweise

Bei durch einen XML-Webdienst definierten SOAP-Headern setzt ASP.NET voraus, dass die XML-Webdienstmethode den SOAP-Header ordnungsgemäß verarbeitet hat, indem der Anfangswert von DidUnderstand auf true festgelegt wird. Bei SOAP-Headern, die nicht durch den XML-Webdienst definiert wurden, lautet der Anfangswert false. Wenn ASP.NET SOAP-Header findet, die an eine XML-Webdienstmethode übergeben wurden und bei denen für DidUnderstand nach Beenden der Methode false festgelegt wurde, wird anstelle der Rückgabe der Ergebnisse von der XML-Webdienstmethode eine SoapHeaderException an den XML-Webdienstclient zurückgegeben.

Beispiel

Vom folgenden XML-Webdienst MyWebService wird der SOAP-Header MyHeader definiert, und es wird festgelegt, dass dieser bei jedem Aufruf der XML-Webdienstmethode MyWebMethod mitgesendet werden muss. Außerdem empfängt MyWebMethod alle SOAP-Header außer MyHeader. Bei SOAP-Headern, die von MyWebMethod verarbeitet werden können, wird DidUnderstand auf true festgelegt.

<%@ WebService Language="VB" Class="MyWebService"%>

Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Xml
Imports System

' Define a SOAP header by deriving from the SoapHeader base class.
Public Class MyHeader
    Inherits SoapHeader
    Public MyValue As String
End Class

Public Class MyWebService
    
    Public theHeader As MyHeader
    ' Receive all SOAP headers besides the MyHeader SOAP header.
    Public unknownHeaders() As SoapUnknownHeader    

    'Receive any SOAP headers other than MyHeader.    
    <WebMethod, _
     SoapHeader("theHeader", Direction := SoapHeaderDirection.InOut), _
     SoapHeader("unknownHeaders")> _
    Public Function MyWebMethod() As String
                
        Dim header As SoapUnknownHeader
        For Each header In unknownHeaders
            ' Perform some processing on the header.
            If header.Element.Name = "MyKnownHeader" Then
                header.DidUnderstand = True
            Else
                ' For those headers that cannot be
                ' processed, set the DidUnderstand propert to false.
                header.DidUnderstand = False
            End If
        Next header
        Return "Hello"
    End Function
    
End Class
<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml;
using System;

// Define a SOAP header by deriving from the SoapHeader base class.

public class MyHeader : SoapHeader {
    public string MyValue;
}

public class MyWebService {

    public MyHeader myHeader;
    // Receive all SOAP headers besides the MyHeader SOAP header.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    //Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders",Required=false)]

    public string MyWebMethod() {

       foreach (SoapUnknownHeader header in unknownHeaders) {
           // Perform some processing on the header.
       if (header.Element.Name == "MyKnownHeader")
               header.DidUnderstand = true;
       else
                // For those headers that cannot be  
                // processed, set the DidUnderstand property to false.
                header.DidUnderstand = false;
       }
       return "Hello";
    }
}

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

SoapHeader-Klasse
SoapHeader-Member
System.Web.Services.Protocols-Namespace
MustUnderstand
SoapHeaderException