Freigeben über


SoapExtension.Initialize(Object) Methode

Definition

Ermöglicht beim Überschreiben in einer abgeleiteten Klasse, dass eine SOAP-Erweiterung sich selbst mit den in der GetInitializer(LogicalMethodInfo, SoapExtensionAttribute)-Methode zwischengespeicherten Daten initialisiert.

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)

Parameter

initializer
Object

Das von Object zurückgegebene GetInitializer(LogicalMethodInfo, SoapExtensionAttribute), das in ASP.NET zwischengespeichert wurde.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie Sie die während der GetInitializer Methode zwischengespeicherten Daten verwenden können.

   // 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

Hinweise

Eine SOAP-Erweiterung bietet drei Möglichkeiten, Daten zu initialisieren, und sie haben alle unterschiedliche Zwecke:

  • Klassenkonstruktor: Der Klassenkonstruktor wird jedes Mal aufgerufen, wenn eine SOAP-Erweiterung instanziiert wird und normalerweise zum Initialisieren von Membervariablen verwendet wird.

  • GetInitializer – Diese Methode wird nur einmal aufgerufen, wenn zum ersten Mal eine SOAP-Anforderung an eine XML-Webdienstmethode gestellt wird. Wenn ein benutzerdefiniertes Attribut auf die XML-Webdienstmethode angewendet wird, wird die GetInitializer -Methode aufgerufen. Dadurch kann die SOAP-Erweiterung die einer XML-Webdienstmethode für Prototypinformationen abfragen oder auf erweiterungsspezifische Daten zugreifen, die LogicalMethodInfo von einer klasse übergeben werden, die von abgeleitet wird SoapExtensionAttribute. Der Rückgabewert wird von ASP.NET zwischengespeichert und an nachfolgende Initialize Methoden übergeben. Daher wird die Initialisierung in GetInitializer im Wesentlichen in einen einmaligen Leistungstreffer gekapselt.

  • Initialize - Diese Methode wird jedes Mal aufgerufen, wenn eine SOAP-Anforderung an eine XML-Webdienstmethode gestellt wird, hat jedoch einen Vorteil gegenüber dem Klassenkonstruktor, da das Object initialisierte in GetInitializer an sie übergeben wird.

Hinweis

Sie können auch eine SOAP-Erweiterung hinzufügen, ohne von abzuleiten, SoapExtensionAttribute indem Sie das <soapExtensionTypes-Element> in einer Konfigurationsdatei verwenden. Ausführliche Informationen finden Sie unter <soapExtensionTypes-Element> und SOAP-Nachrichtenänderung mithilfe von SOAP-Erweiterungen.

Gilt für: