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

O Object retornado de GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) armazenado em cache por 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 a 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 Initialize subsequentes. Portanto, a inicialização feita é GetInitializer encapsulada essencialmente em um impacto de desempenho único.

  • Initialize - Esse método é chamado sempre que uma solicitação SOAP é feita a 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.

Note

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

Aplica-se a