OVH Cloud OVH Cloud

Question bête

2 réponses
Avatar
sebastien981_nospam
Bonjour,

j'ai soit un immense trou de mémoire soit un problème comme vous le
savez dans le fichier global.asax il y a les événements qui se
produisent sur l'application web form

ex : Application_Start, Application_End

bon au moment où mon utilisateur ferme sa session ( donc soit en
fermant ie , soit en changeant de page) je voudrais stocker dans la
base de donnée l'heure de cloture de la session donc j'ai fait

protected void Session_End(Object sender, EventArgs e)
{
((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).EnregistrerAction();
}

avant j'ai

AdminDemo.GestionUtilisateur.Utilisateur utilisateurlogue;


protected void Session_Start(Object sender, EventArgs e)
{
Session["utilisateur"]=utilisateurlogue;

}

cela me permet de stocker les bouton sur lesquel clic les
administrateur du site web quand ils font des modifications (pour
trouver le coupable en cas d'erreur :-) ) or il semblerait que le
session ne surviennent pas souvent (il s'est produit 1 fois sur 20
essais) pour faire le test j'ai une pauvre page aspx

private void Button1_Click(object sender, System.EventArgs e)
{
Session["utilisateur"]=AdminDemo.GestionUtilisateur.Utilisateur.Identification("seb","seb");
this.Label5.Text=((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Nom;
//histoire de voir que l'identification a bien marché, j'ai utilisé
le design pattern singleton donc Identification correspond au
GetInstance Habituel elle renvoi un objet Utilisateur valide ou celui
déjà existant

((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Action="hello
world";
((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Action="Guten
Tag Welt";

this.Label6.Text=((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).EnregistrerAction();
}

ma question bête au final on fait comment pour activer l'enregistrement
au moment du session_end parce que un enregistrement sur 20 test c
short

A moins que cela ne soit aussi fonction du time out de la session ce
qui n'est pas idiot après tout asp.net peut considérer que la session
n'est pas finie tant qu'il n'y a pas eu d'activité pendant 20 minutes

Merci pour l'aide Sebastien

2 réponses

Avatar
sebastien981_nospam
Finalement je me demande si j'ai besoin d'une réponse je viens de voir
apparaître dans ma base sql server tous mes enregistrement de fin de
session donc ça doit venir du time out de session

Sebastien
a formulé ce jeudi :
Bonjour,

j'ai soit un immense trou de mémoire soit un problème comme vous le savez
dans le fichier global.asax il y a les événements qui se produisent sur
l'application web form

ex : Application_Start, Application_End

bon au moment où mon utilisateur ferme sa session ( donc soit en fermant ie ,
soit en changeant de page) je voudrais stocker dans la base de donnée l'heure
de cloture de la session donc j'ai fait

protected void Session_End(Object sender, EventArgs e)
{
((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).EnregistrerAction();
}

avant j'ai

AdminDemo.GestionUtilisateur.Utilisateur utilisateurlogue;


protected void Session_Start(Object sender, EventArgs e)
{
Session["utilisateur"]=utilisateurlogue;

}

cela me permet de stocker les bouton sur lesquel clic les administrateur du
site web quand ils font des modifications (pour trouver le coupable en cas
d'erreur :-) ) or il semblerait que le session ne surviennent pas souvent (il
s'est produit 1 fois sur 20 essais) pour faire le test j'ai une pauvre page
aspx

private void Button1_Click(object sender, System.EventArgs e)
{
Session["utilisateur"]­minDemo.GestionUtilisateur.Utilisateur.Identification("seb","seb");
this.Label5.Text=((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Nom;
//histoire de voir que l'identification a bien marché, j'ai utilisé le
design pattern singleton donc Identification correspond au GetInstance
Habituel elle renvoi un objet Utilisateur valide ou celui déjà existant

((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Action="hello
world";
((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).Action="Guten
Tag Welt";

this.Label6.Text=((AdminDemo.GestionUtilisateur.Utilisateur)Session["utilisateur"]).EnregistrerAction();
}

ma question bête au final on fait comment pour activer l'enregistrement au
moment du session_end parce que un enregistrement sur 20 test c short

A moins que cela ne soit aussi fonction du time out de la session ce qui
n'est pas idiot après tout asp.net peut considérer que la session n'est pas
finie tant qu'il n'y a pas eu d'activité pendant 20 minutes

Merci pour l'aide Sebastien


Avatar
sebastien981_nospam
désolé mais en plus je viens de me rendre compte que je faisais
complétement fausse route avec l'utilisation du pattern singleton sur
un délogue re-log je garde la même instance c débil bon je vais
repenser mon odée