SoapHeaderAttribute Klas

Definitie

Dit kenmerk wordt toegepast op een XML-webservicemethode of een XML-webserviceclient om een SOAP-header op te geven die door de XML-webservicemethode of de XML-webserviceclient kan worden verwerkt. Deze klasse kan niet worden overgenomen.

public ref class SoapHeaderAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)]
public sealed class SoapHeaderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=true)>]
type SoapHeaderAttribute = class
    inherit Attribute
Public NotInheritable Class SoapHeaderAttribute
Inherits Attribute
Overname
SoapHeaderAttribute
Kenmerken

Voorbeelden

De volgende MyWebService XML-webservice definieert een SoapHeader van het type MyHeader. Voor Hello de XML-webservicemethode moet de client de XML-webservicemethode hiervoor SoapHeaderaanroepen. De Hello XML-webservice onderschept ook soap-headers anders dan MyHeader.

<%@ WebService Language="C#" Class="MyWebService"%>
using System.Web.Services;
using System.Web.Services.Protocols;

// Define a SOAP header by deriving from the SoapHeader base class.
// The header contains just one string value.
public class MyHeader : SoapHeader {
    public string MyValue;
}

public class MyWebService {
    // Member variable to receive the contents of the MyHeader SoapHeader.
    public MyHeader myHeader;

    // Member variable to receive all headers other than MyHeader.
    public SoapUnknownHeader[] unknownHeaders;
 
    [WebMethod]
    [SoapHeader("myHeader", Direction=SoapHeaderDirection.InOut)]

    // Receive any SOAP headers other than MyHeader.
    [SoapHeader("unknownHeaders")]
    public void Hello() {

       // Process the MyHeader SoapHeader.
       if (myHeader.MyValue == "Some string") {
          // Process the header.
       }
       foreach (SoapHeader header in unknownHeaders) {
           // Perform some processing on header.
           
           // For those headers that cannot be processed,
           // set the DidUnderstand property to false.
           header.DidUnderstand = false;
       }
    }
}
<%@ WebService Language="VB" Class="MyWebService"%>
Imports System.Web.Services
Imports System.Web.Services.Protocols

' Define a SOAP header by deriving from the SoapHeader base class.
' The header contains just one string value.
Public Class MyHeader
    Inherits SoapHeader
    Public MyValue As String
End Class

Public Class MyWebService
    ' Member variable to receive the contents of the MyHeader SoapHeader.
    Public myHeader As MyHeader
    
    ' Member variable to receive all headers other than MyHeader.
    Public unknownHeaders() As SoapUnknownHeader
    
    ' Receive any SOAP headers other than MyHeader.
    <WebMethod, _
        SoapHeader("myHeader", Direction := SoapHeaderDirection.InOut), _
        SoapHeader("unknownHeaders")> _
    Public Sub Hello()        
        
        ' Process the MyHeader SoapHeader.
        If myHeader.MyValue = "Some string" Then
            ' Process the header.
        End If 
        Dim header As SoapHeader
        For Each header In  unknownHeaders
            ' Perform some processing on header
            ' For those headers that cannot be processed, 
            ' set the DidUnderstand to false.
            header.DidUnderstand = False
        Next header
    End Sub
End Class

Opmerkingen

De basisstappen voor het ontvangen en verwerken van een SOAP-header zijn:

  1. Maak een klasse die is afgeleid van het weergeven van SoapHeader de gegevens die zijn doorgegeven in de SOAP-header.

  2. Voeg een lid toe aan de xml-webserviceklasse of xml-webserviceclientproxyklasse van het type dat u in stap 1 hebt gemaakt.

  3. Pas een SoapHeaderAttribute toe op de XML-webservicemethode of de bijbehorende methode in de proxyklasse, waarbij u het lid opgeeft dat is gemaakt in stap 2 in de MemberName eigenschap.

  4. Open in de XML-webservicemethode of xml-webserviceclientcode de eigenschap voor het MemberName verwerken van de gegevens die in de SOAP-header worden verzonden.

Zie de MemberName eigenschap voor meer informatie.

Constructors

Name Description
SoapHeaderAttribute(String)

Initialiseert een nieuw exemplaar van de SoapHeaderAttribute klasse, waarbij het lid van de XML-webserviceklasse wordt ingesteld die de inhoud van de SOAP-header vertegenwoordigt.

Eigenschappen

Name Description
Direction

Hiermee haalt u op of stelt u in of de SOAP-header is bedoeld voor de XML-webservice of de XML-webserviceclient of beide.

MemberName

Hiermee haalt u het lid van de XML-webserviceklasse op die de inhoud van de SOAP-header vertegenwoordigt of stelt u deze in.

Required
Verouderd.

Dit lid is verouderd en heeft geen functionaliteit.

TypeId

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id.

(Overgenomen van Attribute)

Methoden

Name Description
Equals(Object)

Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
GetHashCode()

Retourneert de hash-code voor dit exemplaar.

(Overgenomen van Attribute)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op

Zie ook