如何使用永續性連線
下列主題描述如何使用持續性連線搭配 Windows-Initiated 處理 (WIP)
若要搭配 WIP 使用永續性連線
將 COMTICoNtext 關鍵字 CONNTYPE 設定為 OPEN。
如果 CONNTYPE 設定為 OPEN 的呼叫順利完成,傳回的 COMTICoNtext 陣列 CONNTYPE 關鍵字將會有 USE 值。
將 COMTICoNtext 關鍵字 CONNTYPE 設定為 OPEN 之後,您可以選擇將 CONNTYPE 設定為 USE。 不過,此動作並非必要動作,因為它預設會設定為 USE。
建立連線之後,您可以使用 COMTICoNtext 物件來存取大型主機。
如果方法呼叫失敗,請使用 COMTICoNtextLib.CoNtextObject 上的 UpdateCoNtextInfo 和 GetConnectionInfo 來取得連線的更新狀態。
若要進行呼叫並終止持續性連線,請將 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