ASP.NET et les session.ID [Résolu]

Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 6 janv. 2006 à 16:19 - Dernière réponse : Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention
- 14 janv. 2006 à 13:22
Bonjour,

je dois stocker pour reconnaitre un internaute la valeur de Session.ID
hors contrairement aux ASP 3.0 cette derniere change à chaque page de navigation
je ne peut donc plus faire mes traitements !

Comment recuperer la valeur de session mais celle qui est la meme jusqu'au timeout ?


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 14 janv. 2006 à 01:53
3
Merci
En fait pour les SessionID, j'ai fait des test un peu plus appronfondis, et Session.SessionID est constante si et seulement si il y a au moins une variable dans la session, sinon (si la session est vide) alors le sessionID change à chaque fois ...


<HR>
Cyril - MVS - MCP ASP

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 6 janv. 2006 à 17:48
0
Merci
bon je comprends plus rien !

alors quand je mets dans le web.config cookieless="true"
l'url se targe de la valeur de la session et effectivement mon Session.SessionID est identique

quand je mets cookieless="false" il ne s'affiche plus dans l'url mais change a chaque fois ????

Hors en ASP 3.0 il ne s'affiche pas et pourtant il ne change pas à chaque page ?

Comment faire pour avoir pareil ? j'ai essayé toutes les valeurs rien n'y fait !

Je cherhce à ce qu'elle ne change pas et qu'elle n'apparaisse pas dans l'url ?
Comme en ASP 3.0


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 6 janv. 2006 à 17:50
0
Merci
Ca m'etonne que le session.id change à chaque nouvelle page ...

Mais je ne comprend pas pourquoi tu cherches à connaitre la valeur de l'id, pourquoi ne passes tu pas tout simplement par une valeur dans une variable session ?


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 6 janv. 2006 à 17:59
0
Merci
C'est bien session.sessionID nous sommes d'accord ?
moi aussi je ne comprends pas pourquoi cela change à chaque fois ???
Seul quand je mets cookieless="true" ca ne change pas ?

c'est une bonne idée la valeur dans la variable global
toutefois quelle methode utiliserais tu pour générer une clef unique dans cette variable ?
celle du session.sessionID ?


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 6 janv. 2006 à 18:55
0
Merci
Je crois qu'on s'est pas compris :)

fais tout simplement : session("variable") = truc non ? ou alors t'as une nouvelle session à chaque fois


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 7 janv. 2006 à 03:07
0
Merci
le truc c'est de stocker des infos dans une base pendant la navigation de l'internaute
donc la sessionID c'est idéal mais quand je cherche à la recup j'en ai une differente à chaque changement de page ou de click !

sauf si je choisi cookieless="true" mais dans ce cas c'est l'url qui prends la valeur avec le cookie.
ce que je voudrai c'est pareil qu'il ne change pas de session à chaque page mais en cachant cette info de l'url.

en fait exactement comme les ASP 3.0 et qu'on recupérer le sessionID

Oui je vois ce que tu veux dire avec session("variable") = truc mais comme truc je le stock en base je ne vais plus reconnaitre un internaute d'un autre ? vu que tous auront comme valeur Truc !

c'est pour cette raison qu'il faut que je recupere un id de session mais qui reste pour toute la naviation de l'internaute mais si possible caché de l'url !!


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 7 janv. 2006 à 03:30
0
Merci
Je crois que t'as pas compris à quoi sert les variables sessions :)

Je viens de tester et effectivement les id de sessions changent à chaque fois, mais ca on s'en fout !
Dans le global.asax si tu fais dans l'evenement

void application_start(...)
{
Application["UserID"] = (int)0; // ou tout autre valeur que tu veux
}

void session_start(...)
{
Application["UserID"] += 1;
this.Session["userID"] = (int)Application["UserID"];
}

puis dans ton code,

tu pourras utiliser this.Session["userID"] et cette fois ce numéro restera le meme durant toute la session ! plutot que de faire un numéro qui se suit tu peux aussi faire un nouveau GUID etc... libre cours à ton imagination ;)


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 7 janv. 2006 à 14:09
0
Merci
haha si crois moi c'est pas parce que je suis débutant en dotnet que je suis nul en ASP
mais j'avoue que cette masse d'information et de devoir tout remattre a zero pour faire des trucs simple c'est pas tjrs évident !

Effectivement t'as methode me plait pas mal !
faut juste que je prenne autre chose qu'une valeur dépendante de l'application car si pour une raison ou une autre le serveur redemarre je risque de me retrouver avec des numéro dejà en base et ca risque de foutre la zone !

rien m'empeche de stocker le sessionID juste au départ de la session et moi je garde ce numéro dans une variable de session Perso par exemple !
session("ClientSess")

qu'est-ce que t'en dit je vais pouvoir avoir le meilleurs des 2 mondes quand meme !
mais c'est quand meme bizarre que la sessionID change à chaque fois quand meme !

Bon c'est vrai qu'en plus j'aime bien comprendre pourquoi ça ca marche ou pas !
plutot que de l'appliquer betement !
en fait vu que j'ai fais dernierement le site de www.camara.fr j'essais de le refaire complement de A à Z en dotnet. C'est un bon exercice je trouve !


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 7 janv. 2006 à 14:23
0
Merci
Perso, je me sert jamais du sessionID, mais effectivement c'est bizarre, il doit y avoir une raison : MSDN :p

Sinon, oui pourquoi pas mettre le sessionID dans une variable session lors du démarrage de la session, mais vu que les N° change mieux vaut peut etre mettre un GUID qui sera unique.

Juste une petite info, asp.net a la possibilité de stocker les sessions dans une bdd ... ca se configure au niveau du web.config et ca existe pour les gros sites qui necessite plusieurs serveurs web, ainsi ils peuvent partager les variables de sessions ...


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 7 janv. 2006 à 19:13
0
Merci
Oui j'ai vu ca dans la doc je vais peut etre creuser de ce coté la vu que je me sert d'un serveur SQL 2005 et la c'est plutot mon truc ;)

par contre peut tu m'en dire plus sur le GUID ca par contre ca ne me dit rien ?

merci par avance !


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 7 janv. 2006 à 19:33
0
Merci
(
New Guid()).ToString()

Ca genere un Numéro unique sur 32 caractères je crois, regarde sur msdn tu devrais pleins d'info la dessus aussi.


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
danielt92 18 Messages postés jeudi 12 janvier 2006Date d'inscription 17 mai 2006 Dernière intervention - 13 janv. 2006 à 23:55
0
Merci
Hello,
J'arrive un peu après la bataille, mais...n'auras-tu pas tout simplement désactivé les cookies dans ton navigateur ?
çà expliquerait exactement ce comportement...de perte du cookie de session.
C'est d'ailleurs pour çà que le cookieless a été inventé...

Cordialement,

<HR>
Daniel - MCSD.NET, MCT
Commenter la réponse de danielt92
jesusonline 6827 Messages postés dimanche 15 décembre 2002Date d'inscription 13 octobre 2010 Dernière intervention - 14 janv. 2006 à 00:09
0
Merci
Non, le problème vient pas de la.

Dans ASP.net 2 le sessionID change bien à chaque nouvelle page, par contre on peut toujours stocker les variables sessions classiquement ...

Je ne sais pas si le sessionID était constant lors de la session en asp.net 1.1 mais ce n'est plus le cas en .net 2


<HR>
Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 14 janv. 2006 à 00:37
0
Merci
merci à vous !
mais j'ai fais un mix en fait !

je stock le guid dans une variable de sessions
session("Session_ID") = la valeur donnée par le GUID qui d'ailleurs est un string et plus un integer ce qui m'a forcer à changer quelques truc mais bon sachant aussi qu'une base recherche moins vite un string qu'un integer mais bon c'est pas grave ca repond à ma problematique je reviendrais la dessus plus tard !

je dois tellement voir de truc que quand j'aurais fini j'aurais au moins eu l'avantage d'avoir fait un super tour de ce que j'aurais besoin au quotidient !

mais c'est vrai faut reconnaitre c'est asser plaisant je vais avoir du mal à retourner sur les asp 3.0 quand je vais devoir intervenir sur de l'existant pour des clients ... snif


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan
Troyan 171 Messages postés mardi 2 juillet 2002Date d'inscription 21 janvier 2012 Dernière intervention - 14 janv. 2006 à 13:22
0
Merci
ok t'es un vrai malin donc la solution saurais dans le global
sur le sesson on start
initialiser une session("CLIENT") = "blablabla"
et apres session.sessionid renvoi la meme valeur ?

bravo à toi cyril !


******************************************
Installation Home-Cinéma de particuliers sur http://www.digital16-9.com
Commenter la réponse de Troyan

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.