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.