SoapExtension.Initialize(Object) Methode
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.
Wenn sie in einer abgeleiteten Klasse überschrieben werden, kann eine SOAP-Erweiterung sich selbst mithilfe der in der GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) Methode zwischengespeicherten Daten initialisieren.
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
Die Object, die von GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) zwischengespeichert von ASP.NET zurückgegeben 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 zum Initialisieren von Daten und alle haben unterschiedliche Zwecke:
Klassenkonstruktor – Der Klassenkonstruktor wird jedes Mal aufgerufen, wenn eine SOAP-Erweiterung instanziiert wird und in der Regel verwendet wird, um Membervariablen zu initialisieren.
GetInitializer - Diese Methode wird nur einmal aufgerufen, wenn eine SOAP-Anforderung zum ersten Mal an eine XML-Webdienstmethode gestellt wird. Wenn ein benutzerdefiniertes Attribut auf die XML-Webdienstmethode angewendet wird, wird die GetInitializer Methode aufgerufen. Auf diese Weise kann die SOAP-Erweiterung die LogicalMethodInfo XML-Webdienstmethode nach Prototypinformationen abfragen oder auf erweiterungsspezifische Daten zugreifen, die von einer Klasse übergeben werden SoapExtensionAttribute. Der Rückgabewert wird von ASP.NET zwischengespeichert und an nachfolgende InitializeMethoden übergeben. Daher wird die Initialisierung 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, aber einen Vorteil gegenüber dem Klassenkonstruktor hat, da die Object initialisierte In GetInitializer an sie übergeben wird.
Note
Sie können auch eine SOAP-Erweiterung hinzufügen, ohne ableiten zu SoapExtensionAttribute müssen, indem Sie das <soapExtensionTypes-Element> in einer Konfigurationsdatei verwenden. Ausführliche Informationen finden Sie unter <soapExtensionTypes> Element und SOAP Message Modification Using SOAP Extensions.