Soap.InvokeRegistry.TRemotable.DataContext
Delphi
property DataContext: TDataContext read FDataContext write SetDataContext;
C++
__property TDataContext* DataContext = {read=FDataContext, write=SetDataContext};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Soap.InvokeRegistry.pas Soap.InvokeRegistry.hpp |
Soap.InvokeRegistry | TRemotable |
説明
TRemotable のインスタンスの存続期間を制御するオブジェクトを指定します。
デフォルトでは,Web サービスアプリケーションがリモート可能なオブジェクトのインスタンスを作成するとき,作成されるオブジェクトは,自身が表す情報をマーシャルするために必要な時間だけ存続するか,その情報を TRemotable のインスタンスに対してマーシャル解除してから,その TRemotable のインスタンスを使用するメソッド呼び出しを実行するまで存続します。TRemotable のインスタンスの解放は,DataContext で指定されたオブジェクトが処理します。
場合によっては,TRemotable のインスタンスが変化するとサーバーにとって望ましくないこともあります。たとえば,オブジェクトがステート情報を含む場合は,すべてのメッセージ呼び出しに対して使用される単一のインスタンスがある方がより効率的です。DataContext を変更すると,TRemotable のインスタンスがデータコンテキストから削除され,メソッド呼び出しの最後にデータコンテキストがなくなっても TRemotable のインスタンスは解放されません。
メモ: DataContext プロパティが nil(Delphi)または NULL(C++)の場合,アプリケーションが TRemotable のインスタンスを解放します。たとえば,クライアントアプリケーションで作成された TRemotable オブジェクトは,DataContext の値が nil(Delphi)または NULL(C++)で作成されているので,クライアントアプリケーションで解放しなければなりません。