SoapExtension.Initialize(Object) Methode

Definitie

Wanneer ze in een afgeleide klasse worden overschreven, kan een SOAP-extensie zichzelf initialiseren met behulp van de gegevens die in de cache van de GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) methode zijn opgeslagen.

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)

Parameters

initializer
Object

De Object geretourneerd uit GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) die door ASP.NET in de cache zijn opgeslagen.

Voorbeelden

In het volgende voorbeeld ziet u hoe u de gegevens in de cache kunt gebruiken tijdens de GetInitializer methode.

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

Opmerkingen

Een SOAP-extensie heeft drie mogelijkheden om gegevens te initialiseren en ze hebben allemaal verschillende doeleinden:

  • Klasseconstructor: de klasseconstructor wordt elke keer aangeroepen wanneer een SOAP-extensie wordt geïnstantieerd en wordt meestal gebruikt om lidvariabelen te initialiseren.

  • GetInitializer - Deze methode wordt slechts één keer aangeroepen, de eerste keer dat een SOAP-aanvraag wordt gedaan naar een XML-webservicemethode. Als een aangepast kenmerk wordt toegepast op de XML-webservicemethode, wordt de GetInitializer methode aangeroepen. Hierdoor kan de SOAP-extensie de LogicalMethodInfo xml-webservicemethode voor prototypegegevens ondervragen of toegang krijgen tot extensiespecifieke gegevens die worden doorgegeven door een klasse die is afgeleid van SoapExtensionAttribute. De retourwaarde wordt in de cache opgeslagen door ASP.NET en doorgegeven aan volgende Initialize methoden. Daarom wordt initialisatie die wordt GetInitializer uitgevoerd, in feite ingekapseld in een eenmalige prestatietreffer.

  • Initialize - Deze methode wordt aangeroepen telkens wanneer een SOAP-aanvraag wordt gedaan bij een XML-webservicemethode, maar heeft een voordeel ten opzichte van de klasseconstructor, omdat de Object geïnitialiseerde aanvraag GetInitializer wordt doorgegeven aan deze methode.

Note

U kunt ook een SOAP-extensie toevoegen zonder hiervan af te leiden SoapExtensionAttribute met behulp van het <element soapExtensionTypes> in een configuratiebestand. Zie <het element soapExtensionTypes> en soap Message Modification Using SOAP Extensions (SOAP-extensies) voor meer informatie.

Van toepassing op