SoapExtension.Initialize(Object) メソッド

定義

派生クラスでオーバーライドされると、SOAP 拡張機能は GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) メソッドにキャッシュされているデータを使用して自らを初期化します。When overridden in a derived class, allows a SOAP extension to initialize itself using the data cached in the GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) method.

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)The Object returned from GetInitializer(LogicalMethodInfo, SoapExtensionAttribute) cached by ASP.NET.

次の例は、GetInitializer メソッド中にキャッシュされたデータを使用する方法を示しています。The following example demonstrates how you can use the data cached during the GetInitializer method.

   // 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つの機会があり、すべての目的は異なります。A SOAP extension has three opportunities to initialize data and they all have different purposes:

  • クラスコンストラクター-クラスコンストラクターは、SOAP 拡張機能がインスタンス化されるたびに呼び出され、通常はメンバー変数を初期化するために使用されます。Class constructor - The class constructor is called every time a SOAP extension is instantiated and is typically used to initialize member variables.

  • GetInitializer-このメソッドは、XML Web サービスメソッドに SOAP 要求が初めて行われたときに1回だけ呼び出されます。GetInitializer - This method is called just once, the first time a SOAP request is made to an XML Web services method. XML Web サービスメソッドにカスタム属性が適用されている場合、GetInitializer メソッドが呼び出されます。If a custom attribute is applied to the XML Web service method, the GetInitializer method is invoked. これにより、SOAP 拡張機能は、XML Web サービスメソッドの LogicalMethodInfo に対してプロトタイプ情報を照会したり、SoapExtensionAttributeから派生するクラスによって渡される拡張機能固有のデータにアクセスしたりできます。This allows the SOAP extension to interrogate the LogicalMethodInfo of an XML Web service method for prototype information or to access extension-specific data passed by a class deriving from SoapExtensionAttribute. 戻り値は ASP.NET によってキャッシュされ、後続の Initialize メソッドに渡されます。The return value is cached by ASP.NET and passed into subsequent Initialize methods. したがって、GetInitializer で行われる初期化は、基本的に1回限りのパフォーマンスヒットにカプセル化されます。Therefore, initialization done in GetInitializer is encapsulated essentially into a one-time performance hit.

  • Initialize-このメソッドは、XML Web サービスメソッドに対して SOAP 要求が行われるたびに呼び出されますが、GetInitializer で初期化された Object が渡されるという点で、クラスコンストラクターよりも利点があります。Initialize - This method is called every time a SOAP request is made to an XML Web service method, but has an advantage over the class constructor, in that the Object initialized in GetInitializer is passed to it.

注意

構成ファイルで<soapExtensionTypes > 要素を使用して、SoapExtensionAttribute から派生させずに SOAP 拡張機能を追加することもできます。You can also add a SOAP extension without deriving from SoapExtensionAttribute by using the <soapExtensionTypes> Element in a configuration file. 詳細については、「 <soapExtensionTypes > 要素」および「Soap拡張機能を使用した Soap メッセージの変更」を参照してください。For details, see <soapExtensionTypes> Element and SOAP Message Modification Using SOAP Extensions.

適用対象