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 нее передается.

Note

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

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