OVH Cloud OVH Cloud

pb de sessions

4 réponses
Avatar
nicopilami
Salut =E0 tous,

je cherche =E0 g=E9rer une interruption de session :
comment faire pour effectuer une action sur le serveur (vidage d'un
caddie de magasin en ligne pour remettre les articles ds la base de
donnees sqlserver) lorsque l'utilisateur eteint son navigateur internet
?
=20
bye
Nico

4 réponses

Avatar
Christophe Lauer [MS]
Bonjour,

nicopilami wrote:
je cherche à gérer une interruption de session :
comment faire pour effectuer une action sur le serveur (vidage d'un
caddie de magasin en ligne pour remettre les articles ds la base de
donnees sqlserver) lorsque l'utilisateur eteint son navigateur
internet ?



Par design, il n'existe pas de moyen simple et infaillible de détecter qu'un
utilisateur a "tué" son navigateur en cours de route. Vous pouvez tout au
plus placer du code dans le Session_End() pour faire le ménage.

De ce que je comprends de votre question, une meilleure approche
consisterait sans doute à ne "sortir les articles de la base de données", ou
dit autrement à décrémenter la quantité d'articles correspondants en stock
qu'au moment de la validation finale de l'achat, et le tout dans une
transaction afin de conserver l'intégrité de vos données.

HTH,

--
Christophe Lauer - Relations Techniques Editeurs de Logiciels
Division Développeurs et Plateforme d'Entreprise - Microsoft France
http://blogs.microsoft.fr/clauer/

This posting is provided "AS IS" with no warranties, and confers no
rights.
Avatar
Christophe Lauer [MS]
Bonjour,

Pour je ne sais quelle raison, il semblerai que vous ayez positionné le
Reply-To vers le groupe ASP.NET. Ma réponse est donc partie s'y perdre. Je
vous la recopie ci-dessous...

nicopilami wrote:
je cherche à gérer une interruption de session :
comment faire pour effectuer une action sur le serveur (vidage d'un
caddie de magasin en ligne pour remettre les articles ds la base de
donnees sqlserver) lorsque l'utilisateur eteint son navigateur
internet ?



Par design, il n'existe pas de moyen simple et infaillible de détecter qu'un
utilisateur a "tué" son navigateur en cours de route. Vous pouvez tout au
plus placer du code dans le Session_End() pour faire le ménage.

De ce que je comprends de votre question, une meilleure approche
consisterait sans doute à ne "sortir les articles de la base de données", ou
dit autrement à décrémenter la quantité d'articles correspondants en stock
qu'au moment de la validation finale de l'achat, et le tout dans une
transaction afin de conserver l'intégrité de vos données.

HTH,

--
Christophe Lauer - Relations Techniques Editeurs de Logiciels
Division Développeurs et Plateforme d'Entreprise - Microsoft France
http://blogs.microsoft.fr/clauer/

This posting is provided "AS IS" with no warranties, and confers no
rights.
Avatar
nicopilami
bah.... en fait, c'est peut-etre cette deuxieme approche que je vais
adopter...
mais si on en revient au "Session_End()" comment l'utilise-t-on ? où
l'implement t-on ?

bye
Nicolas
Avatar
Christophe Lauer [MS]
Bonjour,

nicopilami wrote:
bah.... en fait, c'est peut-etre cette deuxieme approche que je vais
adopter...
mais si on en revient au "Session_End()" comment l'utilise-t-on ? où
l'implement t-on ?



En effet, la seconde méthode est certainement préférable.

Quant au Session_End, ce handler doit être déclaré dans le fichier
Global.asax, comme indiqué dans cette documentation :
http://fr.gotdotnet.com/quickstart/aspplus/doc/globalasax.aspx

HTH,

--
Christophe Lauer - Relations Techniques Editeurs de Logiciels
Division Développeurs et Plateforme d'Entreprise - Microsoft France
http://blogs.microsoft.fr/clauer/

This posting is provided "AS IS" with no warranties, and confers no
rights.