Fermer une connexion OU pas ?

cs_jmtoulon Messages postés 85 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 3 août 2010 - 4 nov. 2006 à 12:24
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 5 nov. 2006 à 01:54
Bonjour, voici une partie de mon code que je place en début de chaque page aspx



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 




' Déclaration de l'objet de connexion



Dim oConnection As System.Data.SqlClient.SqlConnection






 





' Création de l'objet de connexion



oConnection = New System.Data.SqlClient.SqlConnection()






 





Je voudrais savoir si il est obligatoire de fermer cette connexion en fin de toutes mes pages aspx OU est-ce que le serveur s’occupe de libéré la ressource à la fin de l’exécution de la page ?



 




Merci par avance

2 réponses

cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
4 nov. 2006 à 13:02
Toute connexion doit être fermée. Tu ne dois pas attendre que le Garbage Collector le fasse pour toi. Il faut libérer les ressources et l'accès.

Tu ouvres ta connexion et réalise ton traitement dans un Try...

      oConnection.Open();
Try
{
      //Ton traitement
      while(...)
      {
         ...
      }
}
catch{}
finally
{
   oConnection.Close();
}

Tout ce qui est dans la branche Finally est forcément traité. Comme ça même si ça plante ta connexion se ferme...
0
romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
5 nov. 2006 à 01:54
Salut
tu peux egalement tester si la connexion est deja ouverte et si seulement elle n'est pas deja ouverte et bien tu l'ouvres :

If oConnexion
Is
Nothing
Then _oConnexion =

New SqlConnection(strConnexion)

If oConnexion.State = ConnectionState.Closed
Then _oConnexion.Open()

il y a aussi le bloc  using qui ouvre et ferme automatiquement la connexion

Dim oConnexion
As
New SqlClient.SqlConnection

Using oConnexion

End
Using

++
0
Rejoignez-nous