SoapExtension.Initialize(Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.