SoapHeader.DidUnderstand Properti

Definisi

Mendapatkan atau menetapkan nilai yang menunjukkan apakah metode layanan Web XML memproses header SOAP dengan benar.

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

Nilai Properti

true jika header SOAP diproses dengan benar; jika tidak false.

Contoh

Layanan Web XML berikut MyWebService menentukan MyHeader header SOAP dan mengharuskannya dikirim dengan panggilan apa pun ke MyWebMethod metode layanan Web XML. Selain itu, MyWebMethod menerima header SOAP selain MyHeader header SOAP. Untuk header SOAP yang MyWebMethod dapat diproses, DidUnderstand diatur ke true.

<%@ 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";
    }
}
<%@ 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

Keterangan

Untuk header SOAP yang ditentukan oleh layanan Web XML, ASP.NET mengasumsikan metode layanan Web XML memproses header SOAP dengan benar dengan mengatur nilai awal DidUnderstand ke true. Untuk header SOAP yang tidak ditentukan oleh layanan Web XML, nilai awalnya adalah false. Jika ASP.NET mendeteksi header SOAP yang diteruskan ke metode layanan Web XML dengan DidUnderstand diatur ke false setelah metode kembali, SoapHeaderException dilemparkan kembali ke klien layanan Web XML alih-alih hasil dari metode layanan Web XML.

Berlaku untuk

Lihat juga