SoapExtension.Initialize(Object) Método

Definición

Cuando se reemplaza en una clase derivada, permite que una extensión SOAP se inicialice mediante los datos almacenados en caché en el GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) método .

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)

Parámetros

initializer
Object

El Object devuelto desde GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) almacenado en caché por ASP.NET.

Ejemplos

En el ejemplo siguiente se muestra cómo puede usar los datos almacenados en caché durante el GetInitializer método .

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

Comentarios

Una extensión SOAP tiene tres oportunidades para inicializar los datos y todos tienen diferentes propósitos:

  • Constructor de clase: se llama al constructor de clase cada vez que se crea una instancia de una extensión SOAP y se usa normalmente para inicializar variables miembro.

  • GetInitializer : este método se llama solo una vez, la primera vez que se realiza una solicitud SOAP a un método de servicios web XML. Si se aplica un atributo personalizado al método de servicio web XML, se invoca el GetInitializer método . Esto permite a la extensión SOAP interrogar el LogicalMethodInfo de un método de servicio web XML para obtener información de prototipo o tener acceso a datos específicos de la extensión pasados por una clase derivada de SoapExtensionAttribute. El valor devuelto se almacena en caché mediante ASP.NET y se pasa a métodos posteriores Initialize. Por lo tanto, la inicialización realizada en GetInitializer se encapsula esencialmente en un acierto de rendimiento único.

  • Initialize : se llama a este método cada vez que se realiza una solicitud SOAP a un método de servicio web XML, pero tiene una ventaja sobre el constructor de clase, en que el Object inicializado en GetInitializer se pasa a él.

Note

También puede agregar una extensión SOAP sin derivar SoapExtensionAttribute de mediante el <elemento soapExtensionTypes> en un archivo de configuración. Para obtener más información, vea <elemento soapExtensionTypes> y modificación de mensajes SOAP mediante extensiones SOAP.

Se aplica a