Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Session.SessionID vraiment unique???

30 réponses
Avatar
Norm
Est-ce que quelqu'un sait comment est créer le session.sessionId.

J'ose croire que cette clé est unique, mias là des doutes me hantent.

Voici ce qui se passe de temps à autre, pas tout le temps.
J'ouvre une première fois mon intranet. Je place en session des données
(dataset).

J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en session il
récupère les données de ce qu'il y a dans la session du premier.

Avant j'utilisais sessionstate inproc, mais j'ai changer pour stateserver.
Le problème arrive d'une façon ou l'autre.

Ma première idée qui j'espère est fausse est que dans sa facon de créer de
session.sessionid il peut arriver qu'un id soit répéter.

Quelqu'un pour m'éclairer?

10 réponses

1 2 3
Avatar
Dominic Pelletier
Bonjour Norm,

Presque ;)

Avec un niveau de chance peux élevé ;) tu peu arriver a avoir le même
... Concat le OADate a ton SessionID , tu va etre sure que ce sera jamais la
même. ;)

Dominic
"Norm" wrote in message
news:%
Est-ce que quelqu'un sait comment est créer le session.sessionId.

J'ose croire que cette clé est unique, mias là des doutes me hantent.

Voici ce qui se passe de temps à autre, pas tout le temps.
J'ouvre une première fois mon intranet. Je place en session des données
(dataset).

J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en session


il
récupère les données de ce qu'il y a dans la session du premier.

Avant j'utilisais sessionstate inproc, mais j'ai changer pour stateserver.
Le problème arrive d'une façon ou l'autre.

Ma première idée qui j'espère est fausse est que dans sa facon de créer de
session.sessionid il peut arriver qu'un id soit répéter.

Quelqu'un pour m'éclairer?




Avatar
Dominic Pelletier
Mais ... C quand même tres tres tres rare que tu retrouve le même c comme
avoir deux GUID semblable pour deux dll différente ;)

Dominic
"Norm" wrote in message
news:%
Est-ce que quelqu'un sait comment est créer le session.sessionId.

J'ose croire que cette clé est unique, mias là des doutes me hantent.

Voici ce qui se passe de temps à autre, pas tout le temps.
J'ouvre une première fois mon intranet. Je place en session des données
(dataset).

J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en session


il
récupère les données de ce qu'il y a dans la session du premier.

Avant j'utilisais sessionstate inproc, mais j'ai changer pour stateserver.
Le problème arrive d'une façon ou l'autre.

Ma première idée qui j'espère est fausse est que dans sa facon de créer de
session.sessionid il peut arriver qu'un id soit répéter.

Quelqu'un pour m'éclairer?




Avatar
Norm
Effectivement ca devrait être très très rare, mais c'est arrivé 2-3 fois en
2 semaines.


Trouvé sur msdn:
Identification d'une session
Chaque session ASP.NET active est identifiée et suivie à l'aide d'une chaîne
SessionID 120 bits contenant uniquement les caractères ASCII autorisés dans
les URL. Les valeurs SessionID sont générées à l'aide d'un algorithme qui en
garantit le caractère unique de sorte que les sessions n'entrent pas en
conflit et le caractère aléatoire de sorte qu'un utilisateur malveillant ne
puisse pas utiliser un nouveau SessionID pour calculer le SessionID d'une
session existante.

Les chaînes SessionID sont communiquées sur les demandes client-serveur au
moyen d'un cookie HTTP ou d'une URL modifiée avec la chaîne SessionID
incorporée, selon la configuration des paramètres de l'application.




"Dominic Pelletier" a écrit dans le
message de news:
Mais ... C quand même tres tres tres rare que tu retrouve le même c comme
avoir deux GUID semblable pour deux dll différente ;)

Dominic
"Norm" wrote in message
news:%
> Est-ce que quelqu'un sait comment est créer le session.sessionId.
>
> J'ose croire que cette clé est unique, mias là des doutes me hantent.
>
> Voici ce qui se passe de temps à autre, pas tout le temps.
> J'ouvre une première fois mon intranet. Je place en session des données
> (dataset).
>
> J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en session
il
> récupère les données de ce qu'il y a dans la session du premier.
>
> Avant j'utilisais sessionstate inproc, mais j'ai changer pour


stateserver.
> Le problème arrive d'une façon ou l'autre.
>
> Ma première idée qui j'espère est fausse est que dans sa facon de créer


de
> session.sessionid il peut arriver qu'un id soit répéter.
>
> Quelqu'un pour m'éclairer?
>
>




Avatar
Norm
Concaténé la date, je veux bien, mais je voix pas trop comment


1- Session(now & "mavariable") = "test"
Comment récupérer ma variable après? mettre la date elle aussi dans une
variable session?

2- Session.SessionId &= now
Le session id n'est-il pas readOnly?




"Dominic Pelletier" a écrit dans le
message de news:eAdI%
Bonjour Norm,

Presque ;)

Avec un niveau de chance peux élevé ;) tu peu arriver a avoir le même
... Concat le OADate a ton SessionID , tu va etre sure que ce sera jamais


la
même. ;)

Dominic
"Norm" wrote in message
news:%
> Est-ce que quelqu'un sait comment est créer le session.sessionId.
>
> J'ose croire que cette clé est unique, mias là des doutes me hantent.
>
> Voici ce qui se passe de temps à autre, pas tout le temps.
> J'ouvre une première fois mon intranet. Je place en session des données
> (dataset).
>
> J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en session
il
> récupère les données de ce qu'il y a dans la session du premier.
>
> Avant j'utilisais sessionstate inproc, mais j'ai changer pour


stateserver.
> Le problème arrive d'une façon ou l'autre.
>
> Ma première idée qui j'espère est fausse est que dans sa facon de créer


de
> session.sessionid il peut arriver qu'un id soit répéter.
>
> Quelqu'un pour m'éclairer?
>
>




Avatar
Dominic Pelletier
Re:

Je pense qu'on c mal compris ;)

La concat de la date fonctionne seulement si tu veux te faire
une clé unique a partir de la sessionid alors ca implique pas de changer ton
sessionid par ton sessionid + ta date... car ca tu as pas de controle la
dessus...

mais ta sessions id + ta date , ca depend quesque tu veux faire avec....

tu peux toujours la passer en querystring au page connecter, la mettre dans
le viewstate ou en variable session ... ca depend du niveau de securiter que
tu veux mettre sur la visibiliter de cette cle unique...

Dit moi un peu ce que tu veux faire avec ... Je pourrai pe plus te
conseiller ...


Dominic


"Norm" wrote in message
news:
Concaténé la date, je veux bien, mais je voix pas trop comment


1- Session(now & "mavariable") = "test"
Comment récupérer ma variable après? mettre la date elle aussi dans


une
variable session?

2- Session.SessionId &= now
Le session id n'est-il pas readOnly?




"Dominic Pelletier" a écrit dans le
message de news:eAdI%
> Bonjour Norm,
>
> Presque ;)
>
> Avec un niveau de chance peux élevé ;) tu peu arriver a avoir le


même
> ... Concat le OADate a ton SessionID , tu va etre sure que ce sera


jamais
la
> même. ;)
>
> Dominic
> "Norm" wrote in message
> news:%
> > Est-ce que quelqu'un sait comment est créer le session.sessionId.
> >
> > J'ose croire que cette clé est unique, mias là des doutes me hantent.
> >
> > Voici ce qui se passe de temps à autre, pas tout le temps.
> > J'ouvre une première fois mon intranet. Je place en session des


données
> > (dataset).
> >
> > J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en


session
> il
> > récupère les données de ce qu'il y a dans la session du premier.
> >
> > Avant j'utilisais sessionstate inproc, mais j'ai changer pour
stateserver.
> > Le problème arrive d'une façon ou l'autre.
> >
> > Ma première idée qui j'espère est fausse est que dans sa facon de


créer
de
> > session.sessionid il peut arriver qu'un id soit répéter.
> >
> > Quelqu'un pour m'éclairer?
> >
> >
>
>




Avatar
Dominic Pelletier
Mais si je relis ton premier message... Je mettreais ta sessionID+ ta date
dans Session["SessionKey"] = Session.SessionID+DateTime.Now.ToOADate();

et tu met ta Session Key Dans tout t variable Session ex`

DataSet ds = new DataSet(); // ton affectation.
string sKey = (string)Session["SessionKey"] ;
Session[sKey+"DataSet"] = ds;

Dominic
"Dominic Pelletier" wrote in message
news:
Re:

Je pense qu'on c mal compris ;)

La concat de la date fonctionne seulement si tu veux te faire
une clé unique a partir de la sessionid alors ca implique pas de changer


ton
sessionid par ton sessionid + ta date... car ca tu as pas de controle la
dessus...

mais ta sessions id + ta date , ca depend quesque tu veux faire avec....

tu peux toujours la passer en querystring au page connecter, la mettre


dans
le viewstate ou en variable session ... ca depend du niveau de securiter


que
tu veux mettre sur la visibiliter de cette cle unique...

Dit moi un peu ce que tu veux faire avec ... Je pourrai pe plus te
conseiller ...


Dominic


"Norm" wrote in message
news:
> Concaténé la date, je veux bien, mais je voix pas trop comment
>
>
> 1- Session(now & "mavariable") = "test"
> Comment récupérer ma variable après? mettre la date elle aussi dans
une
> variable session?
>
> 2- Session.SessionId &= now
> Le session id n'est-il pas readOnly?
>
>
>
>
> "Dominic Pelletier" a écrit dans le
> message de news:eAdI%
> > Bonjour Norm,
> >
> > Presque ;)
> >
> > Avec un niveau de chance peux élevé ;) tu peu arriver a avoir le
même
> > ... Concat le OADate a ton SessionID , tu va etre sure que ce sera
jamais
> la
> > même. ;)
> >
> > Dominic
> > "Norm" wrote in message
> > news:%
> > > Est-ce que quelqu'un sait comment est créer le session.sessionId.
> > >
> > > J'ose croire que cette clé est unique, mias là des doutes me


hantent.
> > >
> > > Voici ce qui se passe de temps à autre, pas tout le temps.
> > > J'ouvre une première fois mon intranet. Je place en session des
données
> > > (dataset).
> > >
> > > J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en
session
> > il
> > > récupère les données de ce qu'il y a dans la session du premier.
> > >
> > > Avant j'utilisais sessionstate inproc, mais j'ai changer pour
> stateserver.
> > > Le problème arrive d'une façon ou l'autre.
> > >
> > > Ma première idée qui j'espère est fausse est que dans sa facon de
créer
> de
> > > session.sessionid il peut arriver qu'un id soit répéter.
> > >
> > > Quelqu'un pour m'éclairer?
> > >
> > >
> >
> >
>
>




Avatar
Norm
> La concat de la date fonctionne seulement si tu veux te faire
une clé unique a partir de la sessionid alors ca implique pas de changer


ton
sessionid par ton sessionid + ta date... car ca tu as pas de controle la
dessus...


Ca j'avais compris, le sessionid est readonly



mais ta sessions id + ta date , ca depend quesque tu veux faire avec....



Tout ce que je veux faire c'est de mettre des variables en session.
Session qui est supposé être unique par défaut?
Donc, ma façon de faire:
Session("Application_test_" & "Mondataset") = Mydataset
et je récupère
Dim ds as dataset = Session("Application_test_" & "Mondataset")
le "Application_test_" est pour m'assurer d'avoir des nom uniques entre
application.

Donc concaténer la date ici m'oblige à garder cette date dans une variable.



Je me demande comment deux i.e ouvert sur la même page ont pu avoir le même
sessionid.
à chaque fois que je me connecte sur mon site, il y a une session qui
démarre non? ou bien il peut arriver qu'en ouvrant une deuxieme fenêtre il
récupère le sessionid déja en présence dans la première fe^netre
Avatar
Norm
Lors de l'ouverture de mon deuxieme i.e, s'il utilise le meme sessionId,
n'ira-t-il pas écraser Session["SessionKey"] et la première fenêtre aura
alors perdu ces info.
L'idée de prendre la date au démarrage et de la mettre en querystring, et de
la concaténer pour chaque variable session permetterais d'éviter de la
perdre.

Et si jamais une deuxieme fenêtre utiliserais le meme sessionid, dans la
session il y aurait deux fois les variables, mais sans le meme nom et sans
la meme valeur.
exemple, je pourrais me retrouver avec un
Session("personnelid20042106161616") et Session("personnelid20042106161718")
dans la même session.


Je continue mes recherches pour voir s'il y a une possibilité de réutiliser
un sessionid déja ouvert.

"Dominic Pelletier" a écrit dans le
message de news:
Mais si je relis ton premier message... Je mettreais ta sessionID+ ta date
dans Session["SessionKey"] = Session.SessionID+DateTime.Now.ToOADate();

et tu met ta Session Key Dans tout t variable Session ex`

DataSet ds = new DataSet(); // ton affectation.
string sKey = (string)Session["SessionKey"] ;
Session[sKey+"DataSet"] = ds;

Dominic
"Dominic Pelletier" wrote in message
news:
> Re:
>
> Je pense qu'on c mal compris ;)
>
> La concat de la date fonctionne seulement si tu veux te


faire
> une clé unique a partir de la sessionid alors ca implique pas de changer
ton
> sessionid par ton sessionid + ta date... car ca tu as pas de controle la
> dessus...
>
> mais ta sessions id + ta date , ca depend quesque tu veux faire avec....
>
> tu peux toujours la passer en querystring au page connecter, la mettre
dans
> le viewstate ou en variable session ... ca depend du niveau de securiter
que
> tu veux mettre sur la visibiliter de cette cle unique...
>
> Dit moi un peu ce que tu veux faire avec ... Je pourrai pe plus te
> conseiller ...
>
>
> Dominic
>
>
> "Norm" wrote in message
> news:
> > Concaténé la date, je veux bien, mais je voix pas trop comment
> >
> >
> > 1- Session(now & "mavariable") = "test"
> > Comment récupérer ma variable après? mettre la date elle aussi


dans
> une
> > variable session?
> >
> > 2- Session.SessionId &= now
> > Le session id n'est-il pas readOnly?
> >
> >
> >
> >
> > "Dominic Pelletier" a écrit dans le
> > message de news:eAdI%
> > > Bonjour Norm,
> > >
> > > Presque ;)
> > >
> > > Avec un niveau de chance peux élevé ;) tu peu arriver a avoir le
> même
> > > ... Concat le OADate a ton SessionID , tu va etre sure que ce sera
> jamais
> > la
> > > même. ;)
> > >
> > > Dominic
> > > "Norm" wrote in message
> > > news:%
> > > > Est-ce que quelqu'un sait comment est créer le session.sessionId.
> > > >
> > > > J'ose croire que cette clé est unique, mias là des doutes me
hantent.
> > > >
> > > > Voici ce qui se passe de temps à autre, pas tout le temps.
> > > > J'ouvre une première fois mon intranet. Je place en session des
> données
> > > > (dataset).
> > > >
> > > > J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en
> session
> > > il
> > > > récupère les données de ce qu'il y a dans la session du premier.
> > > >
> > > > Avant j'utilisais sessionstate inproc, mais j'ai changer pour
> > stateserver.
> > > > Le problème arrive d'une façon ou l'autre.
> > > >
> > > > Ma première idée qui j'espère est fausse est que dans sa facon de
> créer
> > de
> > > > session.sessionid il peut arriver qu'un id soit répéter.
> > > >
> > > > Quelqu'un pour m'éclairer?
> > > >
> > > >
> > >
> > >
> >
> >
>
>




Avatar
Michel Thiffault
Deux fenêtres différentes sur le même PC peuvent utiliser la même session et
en plus ce n'est pas configurable (sauf en passant par le registry). Et les
variables sessions étant sur le serveur les deux utiliseront les mêmes.

Ainsi, si la fenêtre A appèle la page 123.asp et que cette page contient
ceci:

session("qwe") = 4

et que la seconde fenêtre appèle la page 456.asp qui contient ceci:

Response.Write Session("qwe")

le résultat sera 4

Voir à ce sujet: http://www.aspfaq.com/show.asp?id!72


Norm wrote:
Lors de l'ouverture de mon deuxieme i.e, s'il utilise le meme
sessionId, n'ira-t-il pas écraser Session["SessionKey"] et la
première fenêtre aura alors perdu ces info.
L'idée de prendre la date au démarrage et de la mettre en
querystring, et de la concaténer pour chaque variable session
permetterais d'éviter de la perdre.

Et si jamais une deuxieme fenêtre utiliserais le meme sessionid, dans
la session il y aurait deux fois les variables, mais sans le meme nom
et sans la meme valeur.
exemple, je pourrais me retrouver avec un
Session("personnelid20042106161616") et
Session("personnelid20042106161718") dans la même session.


Je continue mes recherches pour voir s'il y a une possibilité de
réutiliser un sessionid déja ouvert.

"Dominic Pelletier" a écrit dans le
message de news:
Mais si je relis ton premier message... Je mettreais ta sessionID+
ta date dans Session["SessionKey"] >> Session.SessionID+DateTime.Now.ToOADate();

et tu met ta Session Key Dans tout t variable Session ex`

DataSet ds = new DataSet(); // ton affectation.
string sKey = (string)Session["SessionKey"] ;
Session[sKey+"DataSet"] = ds;

Dominic
"Dominic Pelletier" wrote in
message news:
Re:

Je pense qu'on c mal compris ;)

La concat de la date fonctionne seulement si tu veux te
faire une clé unique a partir de la sessionid alors ca implique pas
de changer ton sessionid par ton sessionid + ta date... car ca tu
as pas de controle la dessus...

mais ta sessions id + ta date , ca depend quesque tu veux faire
avec....

tu peux toujours la passer en querystring au page connecter, la
mettre dans le viewstate ou en variable session ... ca depend du
niveau de securiter que tu veux mettre sur la visibiliter de cette
cle unique...

Dit moi un peu ce que tu veux faire avec ... Je pourrai pe plus te
conseiller ...


Dominic


"Norm" wrote in message
news:
Concaténé la date, je veux bien, mais je voix pas trop comment


1- Session(now & "mavariable") = "test"
Comment récupérer ma variable après? mettre la date elle aussi
dans une variable session?

2- Session.SessionId &= now
Le session id n'est-il pas readOnly?




"Dominic Pelletier" a écrit
dans le message de news:eAdI%
Bonjour Norm,

Presque ;)

Avec un niveau de chance peux élevé ;) tu peu arriver a avoir
le même ... Concat le OADate a ton SessionID , tu va etre sure
que ce sera jamais la même. ;)

Dominic
"Norm" wrote in message
news:%
Est-ce que quelqu'un sait comment est créer le session.sessionId.

J'ose croire que cette clé est unique, mias là des doutes me
hantent.

Voici ce qui se passe de temps à autre, pas tout le temps.
J'ouvre une première fois mon intranet. Je place en session des
données (dataset).

J'en ouvre un deuxieme, et lorsque je vais lire ce qu'il y a en
session il récupère les données de ce qu'il y a dans la session
du premier.

Avant j'utilisais sessionstate inproc, mais j'ai changer pour
stateserver. Le problème arrive d'une façon ou l'autre.

Ma première idée qui j'espère est fausse est que dans sa facon
de créer de session.sessionid il peut arriver qu'un id soit
répéter.

Quelqu'un pour m'éclairer?












Avatar
Norm
> le résultat sera 4



Si au moins ca serait toujours le cas. Ca arrive un fois de temps à autre.
1 2 3