Condividi tramite


SoapExtension.Initialize(Object) Metodo

Definizione

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.

Si applica a