次の方法で共有


SoapExtension.Initialize メソッド

派生クラスでオーバーライドされると、SOAP 拡張機能は GetInitializer メソッドにキャッシュされているデータを使用して自らを初期化します。

Public MustOverride Sub Initialize( _
   ByVal initializer As Object _)
[C#]
public abstract void Initialize(objectinitializer);
[C++]
public: virtual void Initialize(Object* initializer) = 0;
[JScript]
public abstract function Initialize(
   initializer : Object);

パラメータ

  • initializer
    ASP.NET によりキャッシュされる GetInitializer から返された Object

解説

SOAP 拡張機能によるデータの初期化方法は以下のように 3 種類あり、それぞれ目的が異なっています。

  • クラス コンストラクタ - クラス コンストラクタは SOAP 拡張機能がインスタンス化されるたびに呼び出され、通常はメンバ変数の初期化に使用されます。
  • GetInitializer- GetInitializer 。ただし、XML Web サービス メソッドへの SOAP 要求が最初に行われたときに 1 回だけ実行されます。XML Web サービス メソッドにカスタム属性が適用されている場合は、 GetInitializer メソッドが呼び出されます。この呼び出しにより SOAP 拡張機能は、プロトタイプ情報について XML Web サービス メソッドの LogicalMethodInfo を調査したり、 SoapExtensionAttribute の派生クラスから渡された拡張機能固有のデータにアクセスできます。戻り値は ASP.NET によりキャッシュされ、後続の Initialize メソッドに渡されます。したがって、 GetInitializer で行われた初期化は、基本的に一度だけ実行されるようにカプセル化されます。
  • Initialize- Initialize が呼び出されるたびに XML Web サービス メソッドに対して SOAP 要求が行われますが、 GetInitializer で初期化された Object が渡されるという点でクラス コンストラクタより優れています。

使用例

[Visual Basic, C#, C++] GetInitializer メソッドでキャッシュされたデータを使用する方法を次の例に示します。

 
' 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

[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;
}

[C++] 
// Receive the file name stored by GetInitializer and store it in
// a member variable for this specific instance.
public:
void Initialize(Object* initializer) {
   filename = dynamic_cast<String*> (initializer);
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

SoapExtension クラス | SoapExtension メンバ | System.Web.Services.Protocols 名前空間