SoapExtension.Initialize(Object) 方法

定義

當在衍生類別中覆寫時,允許 SOAP 擴充使用 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 方法中快取的資料來初始化其本身。

C#
public abstract void Initialize(object initializer);

參數

initializer
Object

Object,自 ASP.NET 所快取的 GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) 傳回。

範例

下列範例示範如何在 方法期間 GetInitializer 使用快取的資料。

C#
// 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;
}

備註

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 訊息

適用於

產品 版本
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1