Bonjour tout le monde,
Dans le cadre d'une mission, j'optimise des accès à une base Sql Server, à partir d'une application web développée en VB.NET.
Il s'avère que jusqu'à présent, les connexions à la base était mal fermée.
L'architecture est la suivante : l'application développée en vb.net utilise une API (fichier dll) développée elle aussi en vb.net. C'est dans cette api que sont regroupées toutes les méthodes d'accès à la base et de connexion.
L'utilisation se fait ainsi dans l'application
dim api as new API
api.connexion() ==> Qui fait un open() sur l'instance
response.write(api.getIdByLibelle("le_libelle"))
api.deconnexion() ==> qui fait un close() de l'instance
Mais voilà, y a un léger soucis. A l'aide de la commande sp_who2 dispo pour sql server, je scrute l'ouverture de nouveaux processus et leur fermeture. Or, il s'avère que parfois, malgré ma déconnexion(), le processus reste affiché, comme si la connexion était encore ouverte.
Et là, je ne comprends pas pourquoi... Y a-t-il une autre opération à faire que le "close()" pour fermer le processus ? Parce que mon but est de fermer tout de suite les connexions ouvertes car la montée en charge de l'appli risque d'être importante et le serveur vite dépassé si mes connexions ne se ferment pas.
Quelqu'un peut-il m'aider ?
PS : Je rajouterai un truc. Les connexions semblent toujours ouverte dans sql server (avec sp_who2), mais dès que je regénère mon appli web en local, les connexions disparaissent du serveur de base de données... Pourquoi ???
Partager