SoapHeaderAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questo attributo viene applicato a un metodo di servizio Web XML o un client di servizi Web XML per specificare un'intestazione SOAP che può essere elaborata dal metodo o dal client di servizi Web XML. La classe non può essere ereditata.
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
- Ereditarietà
- Attributi
Esempio
Il servizio Web XML seguente MyWebService definisce uno SoapHeader dei tipi MyHeader. Il Hello metodo del servizio Web XML richiede al client di richiamare il metodo del servizio Web XML con questo SoapHeaderoggetto . Il Hello servizio Web XML rileva anche eventuali intestazioni SOAP diverse da 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
Commenti
I passaggi di base per la ricezione e l'elaborazione di un'intestazione SOAP sono:
Creare una classe derivata da SoapHeader che rappresenta i dati passati nell'intestazione SOAP.
Aggiungere un membro alla classe del servizio Web XML o alla classe proxy client del servizio Web XML del tipo creato nel passaggio 1.
Applicare un SoapHeaderAttribute oggetto al metodo del servizio Web XML o al metodo corrispondente nella classe proxy, specificando il membro creato nel passaggio 2 nella MemberName proprietà.
All'interno del metodo del servizio Web XML o del codice client del servizio Web XML, accedere alla MemberName proprietà per elaborare i dati inviati nell'intestazione SOAP.
Per altre informazioni, vedere la MemberName proprietà .
Costruttori
| SoapHeaderAttribute(String) |
Inizializza una nuova istanza della classe SoapHeaderAttribute, impostando il membro della classe di servizi Web XML che rappresenta il contenuto dell'intestazione SOAP. |
Proprietà
| Direction |
Ottiene o imposta se l'intestazione SOAP è destinata al servizio Web XML, al client di servizi Web XML o a entrambi. |
| MemberName |
Ottiene o imposta il membro della classe di servizi Web XML che rappresenta il contenuto dell'intestazione SOAP. |
| Required |
Obsoleti.
Questo membro è obsoleto e non ha alcuna funzionalità. |
| TypeId |
Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute. (Ereditato da Attribute) |
Metodi
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
| Match(Object) |
Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute) |