SoapExtension.Initialize(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中被重写时,允许 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 从 ASP.NET 缓存的 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 中返回。
示例
以下示例演示如何使用 方法期间 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 - 此方法在首次向 XML Web 服务方法发出 SOAP 请求时只调用一次。 如果自定义属性应用于 XML Web 服务方法,则 GetInitializer 调用 方法。 这允许 SOAP 扩展查询 LogicalMethodInfo XML Web 服务方法的 ,以获取原型信息,或访问派生自 SoapExtensionAttribute的类传递的特定于扩展的数据。 返回值由 ASP.NET 缓存,并传递到后续 Initialize 方法中。 因此,在 中 GetInitializer 完成的初始化基本上封装到一次性性能影响中。
Initialize - 每次向 XML Web 服务方法发出 SOAP 请求时,都会调用此方法,但与类构造函数相较,因为它 Object 将初始化 GetInitializer 的 传递给它。
注意
还可以通过在配置文件中使用 <soapExtensionTypes> 元素来添加 SOAP 扩展,而无需从SoapExtensionAttribute派生。 有关详细信息,请参阅 <soapExtensionTypes> 元素 和使用 SOAP 扩展修改 SOAP 消息。