Поделиться через


SoapExtension.Initialize(Object) Метод

Определение

При переопределении в производном классе позволяет расширению SOAP инициализировать свои данные с использованием данных, сохраненных в кэше методом 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)

Параметры

initializer
Object

Объект Object, возвращаемый методом GetInitializer(LogicalMethodInfo, SoapExtensionAttribute), кэшируется ASP.NET.

Примеры

В следующем примере показано, как можно использовать данные, кэшированные во время GetInitializer метода .

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

Комментарии

Расширение SOAP имеет три возможности для инициализации данных, и все они имеют разные цели:

  • Конструктор классов — конструктор класса вызывается каждый раз при создании экземпляра расширения SOAP и обычно используется для инициализации переменных-членов.

  • GetInitializer — Этот метод вызывается только один раз, при первом выполнении запроса SOAP к методу веб-служб XML. Если пользовательский атрибут применяется к методу веб-службы XML, GetInitializer вызывается метод . Это позволяет расширению SOAP запрашивать LogicalMethodInfo метод веб-службы XML для получения сведений о прототипе или получать доступ к данным расширения, передаваемым классом, производным от SoapExtensionAttribute. Возвращаемое значение кэшируется ASP.NET и передается в последующие Initialize методы. Таким образом, инициализация, выполненная в GetInitializer , по сути, инкапсулируется в однократное снижение производительности.

  • Initialize— Этот метод вызывается каждый раз, когда выполняется запрос SOAP к методу веб-службы XML, но имеет преимущество по сравнению с конструктором класса в том, что ему передается инициализированный Object объект .GetInitializer

Примечание

Вы также можете добавить расширение SOAP, не производное от , SoapExtensionAttribute с помощью <элемента soapExtensionTypes> в файле конфигурации. Дополнительные сведения см. в разделах< элемент soapExtensionTypes> и Изменение сообщения SOAP с помощью расширений SOAP.

Применяется к