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,自 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 要求,但對 類別建構函式發出 SOAP 要求時,就會呼叫這個方法,在該 Object 方法中,初始化 GetInitializer 的 會傳遞給它。

注意

您也可以在組態檔中使用< soapExtensionTypes > 元素,新增 SOAP 延伸模組而不衍生自 SoapExtensionAttribute 。 如需詳細資訊,請參閱< soapExtensionTypes > 元素和使用SOAP 延伸模組修改 SOAP 訊息

適用於