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
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.
Une fois la connexion établie, vous pouvez utiliser l’objet COMTIContext pour accéder au mainframe.
Si l’appel de méthode échoue, utilisez UpdateContextInfo et GetConnectionInfo sur COMTIContextLib.ContextObject pour obtenir des status mises à jour de la connexion.
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