Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Connector for .NET Framework 使用の手引


4.4.1 インデクスドレコードを使用する場合のメソッドの発行手順

インデクスドレコードを使用してRPC要求をする場合のメソッド発行手順を次に示します。

  1. TP1ConnectionManagerクラスのインスタンスを生成または取り出します。

    プロパティを特定のプロファイルから読み込む場合は,コンストラクタの引数にプロファイルIDを指定します。インスタンスの生成はアプリケーションごとに行うことを推奨します。

  2. TP1ConnectionManagerクラスのGetConnectionメソッドでTP1Connectionオブジェクトを取得します。

    コネクションプールに使用できるコネクションがあった場合は,この時点でコネクションプールからコネクションを取り出した状態になります。

  3. RpcInfoクラスのインスタンスを生成します。

  4. RpcInfoオブジェクトにサービス名,サービスグループ名,タイムアウト値,RPC形態フラグなどを設定します。

  5. TP1ConnectionManagerクラスのCreateIndexedRecordメソッドを発行して入力用インデクスドレコードを生成します。

  6. 入力用インデクスドレコードに入力データを設定します。

  7. TP1ConnectionManagerクラスのCreateIndexedRecordメソッドを発行して出力用インデクスドレコードを生成します。

  8. 出力データ用領域を確保して,出力用インデクスドレコードに設定します。

  9. TP1ConnectionクラスのExecuteメソッドを発行してRPC要求をします(何度でも発行できます)。

    再度RPC要求をする場合は,4.〜9.のどれかから行います。

    各オブジェクトは複数回のRPC要求で再利用できます。

  10. 出力用インデクスドレコードからデータを取り出します。

  11. TP1ConnectionクラスのDisposeメソッドを発行して,コネクションをコネクションプールに戻します。

注意事項

ASP.NET Webアプリケーションで使用する場合,TP1ConnectionクラスのDisposeメソッドは,次の時点で必ず発行してください。

  • 各UIイベントハンドラの終了時

  • Webサービスメソッドの終了時

Disposeメソッドを適切に発行しないと,メモリリークの原因となります。

また,TP1ConnectionManagerクラスはASP.NETではアプリケーション状態,またはアプリケーションインスタンスに保持することを推奨します。各UIイベントハンドラやWebサービスメソッドごとに生成と削除を繰り返した場合,性能劣化やメモリ使用効率低下の原因となります。