永続的な接続を使用する方法

次のトピックでは、Windows-Initiated 処理 (WIP) で永続的な接続を使用する方法について説明します

WIP で永続的な接続を使用するには

  1. CONNTYPE キーワード (keyword) COMTIContext を OPEN に設定します。

    CONNTYPE を OPEN に設定した呼び出しが正常に完了すると、返される COMTIContext 配列 CONNTYPE キーワード (keyword)の値は USE になります。

    COMTIContext キーワード (keyword) CONNTYPE を OPEN に設定した後、CONNTYPE を USE に設定できます。 ただし、このアクションは既定で USE に設定されているため、必須ではありません。

  2. 接続を確立したら、COMTIContext オブジェクトを使用してメインフレームにアクセスできます。

  3. メソッドの呼び出しが失敗した場合は、COMTIContextLib.ContextObject で UpdateContextInfo と GetConnectionInfo を使用して、接続の更新された状態を取得します。

  4. 呼び出しを行い、永続的な接続を終了するには、CONNTYPE キーワード (keyword)を CLOSE に設定します。

    呼び出しが正常に完了すると、返された COMTIContext 配列 CONNTYPE キーワード (keyword)の値は非永続的になります。

    必要に応じて、いつでも ClosePersistentConnection を呼び出して永続的な接続を閉じます。 接続は終了し、サーバー プログラムとの対話は行われません。

次の Visual Basic 6.0 コード例は、エラーを返す可能性がある OPEN メソッド呼び出しと CLOSE メソッド呼び出しを使用する方法を示しています。 また、このサンプルでは、接続を引き続き使用できるかどうかを判断する方法も示します。

Public CtxCount As Long  
Public COMTIContext() As Variant  
Public ContextObj As COMTIContextLib.ContextObject  
  
Dim fConIsPersistent as Boolean  
Dim fConnIsViable as Boolean  
Dim varConnType as Variant  
  
Private Sub cmdBalance_Click()  
  On Error GoTo ErrorHandler  
  
OpenCall:  
  varConnType = "OPEN"  
  ContextObj.WriteContext "CONNTYPE", varConnType, COMTIContext  
  lngReturn = objBank.cedrbank(txtName.Text, txtAccount.Text, curRetBalance, COMTIContext)  
  
UseCall:  
  lngReturn = objBank.cedrbank(txtName.Text, txtAccount.Text, curRetBalance, COMTIContext)  
  
CloseCall:  
  If (fCloseWithMethod) Then  
      varConnType = "CLOSE"  
      ContextObj.WriteContext "CONNTYPE", varConnType, COMTIContext  
      lngReturn = objBank.cedrbank(txtName.Text, txtAccount.Text, curRetBalance, COMTIContext)  
  Else  
      COMTIContext = objBank.ClosePersistentConnection  
  End-if  
  
  Exit Sub  
  
ErrorHandler:  
    COMTIContext  = objBank.UpdateContextInfo   Optional for COM required for .NET  
    ContextObj.GetConnectionInfo (COMTIContext, fConnIsPersistent, fConnIsViable)  
    If (fConnIsPersistent = True And fConnIsViable = True) Then  
        Continue with the next Use or Close method call is OK  
    Else  
        Connection is either Non-persistent or no longer viable  
        So a Use or Close call is not valid  
    End-if  
    Exit Sub  
  
End Sub  

参照

永続的な接続
COMTI コンテキスト インターフェイス
COMTIContext キーワード