次の方法で共有


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

ASP.NET によりキャッシュされる Object から返された 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 拡張機能には、データを初期化する 3 つの機会があり、それらはすべて異なる目的を持ちます。

  • クラス コンストラクター - クラス コンストラクターは、SOAP 拡張機能がインスタンス化されるたびに呼び出され、通常はメンバー変数を初期化するために使用されます。

  • GetInitializer - このメソッドは、XML Web サービス メソッドに対して初めて SOAP 要求が行われるとき、1 回だけ呼び出されます。 カスタム属性が XML Web サービス メソッドに適用されている場合、メソッド GetInitializer が呼び出されます。 これにより、SOAP 拡張機能は、プロトタイプ情報の XML Web サービス メソッドの問い合わせ LogicalMethodInfo 、または派生 SoapExtensionAttributeクラスによって渡される拡張機能固有のデータにアクセスできます。 戻り値は ASP.NET によってキャッシュされ、後続Initializeのメソッドに渡されます。 そのため、初期化 GetInitializer は基本的に 1 回限りのパフォーマンス ヒットにカプセル化されます。

  • Initialize - このメソッドは、XML Web サービス メソッドに対して SOAP 要求が行われるたびに呼び出されますが、初期化されたコンストラクターが渡されるという点 ObjectGetInitializer 、クラス コンストラクターよりも利点があります。

注意

構成ファイルの要素を使用<soapExtensionTypes>して、派生SoapExtensionAttributeせずに SOAP 拡張機能を追加することもできます。 詳細については、「SOAP 拡張機能を使用した要素と SOAP メッセージの変更」を参照してください<soapExtensionTypes>

適用対象