Share via


Utilisation d’une connexion permanente

La rubrique suivante explique comment utiliser une connexion persistante avec Windows-Initiated Traitement (WIP)

Pour utiliser une connexion persistante avec WIP

  1. Définissez COMTIContext mot clé CONNTYPE sur OPEN.

    Si un appel avec CONNTYPE défini sur OPEN se termine correctement, le tableau COMTIContext renvoyé CONNTYPE mot clé aura la valeur USE.

    Une fois que vous avez défini COMTIContext mot clé CONNTYPE sur OPEN, vous pouvez choisir de définir CONNTYPE sur USE. Toutefois, cette action n’est pas obligatoire, car elle est définie sur USE par défaut.

  2. Une fois la connexion établie, vous pouvez utiliser l’objet COMTIContext pour accéder au mainframe.

  3. Si l’appel de méthode échoue, utilisez UpdateContextInfo et GetConnectionInfo sur COMTIContextLib.ContextObject pour obtenir des status mises à jour de la connexion.

  4. Pour effectuer un appel et mettre fin à la connexion persistante, définissez l’mot clé CONNTYPE sur CLOSE.

    Si l’appel se termine correctement, le tableau COMTIContext retourné CONNTYPE mot clé aura la valeur NON-PERSISTENT.

    Si vous le souhaitez, vous pouvez appeler ClosePersistentConnection à tout moment pour fermer une connexion persistante. La connexion sera interrompue et il n’y aura aucune interaction avec un programme serveur.

Exemple

L’exemple de code Visual Basic 6.0 suivant montre comment utiliser les appels de méthode OPEN et CLOSE susceptibles de renvoyer une erreur. L’exemple montre également comment déterminer si une connexion peut toujours être utilisée.

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  

Voir aussi

Connexions persistantes
Interface COMTIContext
Mots clés de COMTIContext