Compartilhar via


SoapExtension.Initialize(Object) Método

Definição

Quando substituído em uma classe derivada, permite que uma extensão SOAP se inicialize usando os dados armazenados em cache no método 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)

Parâmetros

initializer
Object

O Object retornado do GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) armazenado em cache pelo ASP.NET.

Exemplos

O exemplo a seguir demonstra como você pode usar os dados armazenados em cache durante o 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

Comentários

Uma extensão SOAP tem três oportunidades para inicializar dados e todas elas têm propósitos diferentes:

  • Construtor de classe – O construtor de classe é chamado sempre que uma extensão SOAP é instanciada e normalmente é usada para inicializar variáveis de membro.

  • GetInitializer - Esse método é chamado apenas uma vez, a primeira vez que uma solicitação SOAP é feita em um método de serviços Web XML. Se um atributo personalizado for aplicado ao método de serviço Web XML, o GetInitializer método será invocado. Isso permite que a extensão SOAP interrogue o LogicalMethodInfo método de um serviço Web XML para obter informações de protótipo ou acessar dados específicos de extensão passados por uma classe derivada de SoapExtensionAttribute. O valor retornado é armazenado em cache por ASP.NET e passado para métodos subsequentesInitialize. Portanto, a inicialização feita é GetInitializer encapsulada essencialmente em um hit de desempenho único.

  • Initialize - Esse método é chamado sempre que uma solicitação SOAP é feita em um método de serviço Web XML, mas tem uma vantagem sobre o construtor de classe, pois o Object inicializado GetInitializer é passado para ele.

Observação

Você também pode adicionar uma extensão SOAP sem derivar SoapExtensionAttribute usando o <soapExtensionTypes> Elemento em um arquivo de configuração. Para obter detalhes, consulte <soapExtensionTypes> Modificação de elementos e mensagens SOAP usando extensões SOAP.

Aplica-se a