共用方式為


如何使用永續性連線

下列主題描述如何使用持續性連線搭配 Windows-Initiated 處理 (WIP)

若要搭配 WIP 使用永續性連線

  1. 將 COMTICoNtext 關鍵字 CONNTYPE 設定為 OPEN。

    如果 CONNTYPE 設定為 OPEN 的呼叫順利完成,傳回的 COMTICoNtext 陣列 CONNTYPE 關鍵字將會有 USE 值。

    將 COMTICoNtext 關鍵字 CONNTYPE 設定為 OPEN 之後,您可以選擇將 CONNTYPE 設定為 USE。 不過,此動作並非必要動作,因為它預設會設定為 USE。

  2. 建立連線之後,您可以使用 COMTICoNtext 物件來存取大型主機。

  3. 如果方法呼叫失敗,請使用 COMTICoNtextLib.CoNtextObject 上的 UpdateCoNtextInfo 和 GetConnectionInfo 來取得連線的更新狀態。

  4. 若要進行呼叫並終止持續性連線,請將 CONNTYPE 關鍵字設定為 CLOSE。

    如果呼叫順利完成,傳回的 COMTICoNtext 陣列 CONNTYPE 關鍵字會有 NON-PERSISTENT 的值。

    您可以選擇性地隨時呼叫 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  

另請參閱

永續性連線
COMTIContext 介面
COMTIContext Keywords