SoapHeaderAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dieses Attribut wird auf eine XML-Webdienstmethode oder einen XML-Webdienstclient angewendet, um einen SOAP-Header anzugeben, den die XML-Webdienstmethode bzw. der XML-Webdienstclient verarbeiten kann. Diese Klasse kann nicht vererbt werden.
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
- Vererbung
- Attribute
Beispiele
Der folgende MyWebService
XML-Webdienst definiert einen SoapHeader vom Typ MyHeader
. Die Hello
XML-Webdienstmethode erfordert, dass der Client die XML-Webdienstmethode mit diesem aufruft SoapHeader. Der Hello
XML-Webdienst fängt auch alle anderen SOAP-Header als MyHeader
ab.
<%@ 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
Hinweise
Die grundlegenden Schritte zum Empfangen und Verarbeiten eines SOAP-Headers sind:
Erstellen Sie eine Klasse, die von SoapHeader der Darstellung der im SOAP-Header übergebenen Daten abgeleitet wird.
Fügen Sie der XML-Webdienstklasse oder der XML-Webdienst-Clientproxyklasse des in Schritt 1 erstellten Typs ein Mitglied hinzu.
Wenden Sie einen SoapHeaderAttribute auf die XML-Webdienstmethode oder die entsprechende Methode in der Proxyklasse an, und geben Sie den in Schritt 2 erstellten Member in der MemberName -Eigenschaft an.
Greifen Sie innerhalb der XML-Webdienstmethode oder des XML-Webdienstclientcodes auf die MemberName Eigenschaft zu, um die im SOAP-Header gesendeten Daten zu verarbeiten.
Weitere Informationen finden Sie in der MemberName -Eigenschaft.
Konstruktoren
SoapHeaderAttribute(String) |
Initialisiert eine neue Instanz der SoapHeaderAttribute-Klasse, wobei der Member der XML-Webdienstklasse festgelegt wird, die den Inhalt des SOAP-Headers darstellt. |
Eigenschaften
Direction |
Ruft ab oder legt fest, ob der SOAP-Header für den XML-Webdienst oder den XML-Webdienstclient oder für beide bestimmt ist. |
MemberName |
Ruft den Member der XML-Webdienstklasse ab, die den Inhalt des SOAP-Headers darstellt, oder legt diesen Member fest. |
Required |
Veraltet.
Dieser Member ist veraltet und hat keine Funktion. |
TypeId |
Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. (Geerbt von Attribute) |
Methoden
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Geerbt von Attribute) |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Attribute) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IsDefaultAttribute() |
Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
Match(Object) |
Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Geerbt von Attribute) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Geerbt von Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Geerbt von Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Geerbt von Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Geerbt von Attribute) |