Compartir a través de


Cómo usar una conexión persistente

El siguiente tema describe cómo usar una conexión persistente con Windows-Initiated Procesamiento (WIP)

Para usar una conexión persistente con WIP

  1. Establezca la palabra clave COMTIContext CONNTYPE en OPEN.

    Si una llamada con CONNTYPE establecida en OPEN se completa correctamente, la palabra clave COMTIContext array CONNTYPE devuelta tendrá un valor de USE.

    Después de establecer la palabra clave CONNTYPE en OPEN dentro del contexto de COMTIContext, puede optar por establecer CONNTYPE en USE. Sin embargo, esta acción no es obligatoria porque está establecida en USE por defecto.

  2. Una vez establecida la conexión, puede usar el objeto COMTIContext para acceder al sistema central.

  3. Si se produce un error en la llamada al método, use UpdateContextInfo y GetConnectionInfo en COMTIContextLib.ContextObject para obtener el estado actualizado de la conexión.

  4. Para realizar una llamada y finalizar la conexión persistente, establezca la palabra clave CONNTYPE en CLOSE.

    Si la llamada se completa correctamente, la palabra clave COMTIContext array CONNTYPE devuelta tendrá un valor de NON-PERSISTENT.

    Opcionalmente, puede llamar a ClosePersistentConnection en cualquier momento para cerrar una conexión persistente. La conexión se finalizará y no habrá ninguna interacción con un programa de servidor.

Ejemplo

En el siguiente ejemplo de código de Visual Basic 6.0 se muestra cómo usar las llamadas al método OPEN y CLOSE que podrían devolver un error. En el ejemplo también se muestra cómo determinar si todavía se puede usar una conexión.

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  

Véase también

Conexiones persistentes
Interfaz COMTIContext
Palabras clave COMTIContext