Bonjour,
Je suis confronté à un petit soucis, je m'explique :
Lorsqu'un utilisateur web, qui navigue sur mon site, veut accéder à une page web, j'aimerais faire les étapes suivantes :
- Ouverture de la connexion bd
- La page demandée fait son traitement
- Fermeture de la connexion bd lorsque le tout est fini
Donc, on ne va pas faire ceci dans chaque page, il faut donc passer par Global.asax pour intercepter ces 2 évènements "Arrivée d'une requête web" et "Réponse à la requête web".
Ce que j'ai fait, c'est d'utiliser les 2 méthodes suivantes dans global.asax :
1 2
| Global_PostAcquireRequestState(object sender, EventArgs e)
Global_ReleaseRequestState(object sender, EventArgs e) |
Et dans
Global_PostAcquireRequestState, je stocke mon objet de connexion à la bd dans l'objet de session. Problème, c'est que quand
Global_ReleaseRequestState est appelé (donc quand tout est fini), l'objet de connexion à la bd ne se trouve pas forcément dans l'objet de session... Voir rarement. Du coup, j'ai une objet avec connexion bd ouverte qui s'est perdu je ne sais où...
Quelle est donc la meilleure solution pour faire ce système d'ouverture de connexion bd au début d'une requête web et fermeture de la connexion lors de la réponse au client ?
Merci d'avance,
Jérôme.
Partager