SoapExtension.Initialize(Object) Metodo
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.
Quando se ne esegue l'override in una classe derivata, consente a un'estensione SOAP di essere inizializzata utilizzando i dati memorizzati nella cache nel metodo GetInitializer(LogicalMethodInfo, SoapExtensionAttribute).
public:
abstract void Initialize(System::Object ^ initializer);
public abstract void Initialize (object initializer);
abstract member Initialize : obj -> unit
Public MustOverride Sub Initialize (initializer As Object)
Parametri
- initializer
- Object
Oggetto Object restituito da GetInitializer(LogicalMethodInfo, SoapExtensionAttribute), memorizzato nella cache da ASP.NET.
Esempio
Nell'esempio seguente viene illustrato come usare i dati memorizzati nella cache durante il GetInitializer metodo .
// Receive the file name stored by GetInitializer and store it in
// a member variable for this specific instance.
public:
virtual void Initialize( Object^ initializer ) override
{
filename = dynamic_cast<String^>(initializer);
}
// Receive the file name stored by GetInitializer and store it in
// a member variable for this specific instance.
public override void Initialize(object initializer) {
filename = (string) initializer;
}
' Receive the file name stored by GetInitializer and store it in a
' member variable for this specific instance.
Public Overrides Sub Initialize(initializer As Object)
m_filename = CStr(initializer)
End Sub
Commenti
Un'estensione SOAP offre tre opportunità per inizializzare i dati e hanno tutti scopi diversi:
Costruttore di classe: il costruttore della classe viene chiamato ogni volta che viene creata un'istanza di un'estensione SOAP e viene in genere usato per inizializzare le variabili membro.
GetInitializer - Questo metodo viene chiamato una sola volta, la prima volta che viene effettuata una richiesta SOAP a un metodo di servizi Web XML. Se un attributo personalizzato viene applicato al metodo del servizio Web XML, viene richiamato il GetInitializer metodo . In questo modo l'estensione SOAP può interrogare l'oggetto LogicalMethodInfo di un metodo di servizio Web XML per informazioni sul prototipo o per accedere ai dati specifici dell'estensione passati da una classe derivata da SoapExtensionAttribute. Il valore restituito viene memorizzato nella cache da ASP.NET e passato ai metodi successivi Initialize . Pertanto, l'inizializzazione eseguita in GetInitializer viene incapsulata essenzialmente in un hit di prestazioni una tantum.
Initialize - Questo metodo viene chiamato ogni volta che viene effettuata una richiesta SOAP a un metodo del servizio Web XML, ma ha un vantaggio rispetto al costruttore della classe, in quanto l'oggetto Object inizializzato in GetInitializer viene passato.
Nota
È anche possibile aggiungere un'estensione SOAP senza derivare da SoapExtensionAttribute usando l'elemento< soapExtensionTypes> in un file di configurazione. Per informazioni dettagliate, vedere <elemento soapExtensionTypes> e modifica dei messaggi SOAP tramite le estensioni SOAP.