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.