Aracılığıyla paylaş


SoapHeader.DidUnderstand Özellik

Tanım

XML Web hizmeti yönteminin SOAP üst bilgisini düzgün işleyip işlemediğini belirten bir değer alır veya ayarlar.

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

Özellik Değeri

Boolean

true SOAP üst bilgisi düzgün şekilde işlendiyse; aksi takdirde false.

Örnekler

Aşağıdaki MyWebService XML Web hizmeti SOAP üst bilgisini tanımlar MyHeader ve XML Web hizmeti yöntemine yapılan tüm çağrılarla gönderilmesini MyWebMethod gerektirir. Buna ek olarak, SOAP MyWebMethod üst bilgisi dışında MyHeader tüm SOAP üst bilgilerini alır. İşleyebilecek SOAP üst bilgileri MyWebMethod için trueolarak DidUnderstand ayarlanır.

<%@ 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

Açıklamalar

XML Web hizmeti tarafından tanımlanan SOAP üst bilgileri için, ASP.NET XML Web hizmeti yönteminin ilk değerini olarak ayarlayarak SOAP üst bilgisini düzgün işlediğini DidUnderstand truevarsayar. XML Web hizmeti tarafından tanımlanmayan SOAP üst bilgileri için ilk değer şeklindedir false. ASP.NET bir XML Web hizmeti yöntemine geçirilen SOAP üst bilgilerini algılarsa ve DidUnderstand false yöntemi döndürüyorsa, XML Web hizmeti yönteminin sonuçları yerine XML Web hizmeti istemcisine geri bir SoapHeaderException oluşturulur.

Şunlara uygulanır

Ayrıca bkz.