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

objet d'une page à une autre

10 réponses
Avatar
Tony
J'ai créé une classe assez complexe. A partir d'une page aspx (coté server)
je crée un objet issue de cette classe et je charge des données dedans (en
fonction d'un certain nombre de paramètres). Cette initialisation faite, je
souhaite pouvoir réutiliser dans la foulée cet objet dans d'autres pages
aspx.

Quel est le meilleur moyen (simple et efficace) de faire passer un objet
d'une page aspx à une autre ?

J'ai commencer à regarder la sérialization mais ce terme regroupe beaucoup
de choses et je n'ai pas encore trouvé quelque chose de simple à mettre en
place comme en php par exemple où un simple serialize/unserialize via un get
suffit.

Merci

10 réponses

Avatar
Gilles TOURREAU
Le Mon, 12 Nov 2007 10:03:58 +0100, Tony hotmail.com> <"<tony_barret"> a
écrit:

J'ai créé une classe assez complexe. A partir d'une page aspx (coté
server)
je crée un objet issue de cette classe et je charge des données dedans
(en
fonction d'un certain nombre de paramètres). Cette initialisation faite,
je
souhaite pouvoir réutiliser dans la foulée cet objet dans d'autres pages
aspx.

Quel est le meilleur moyen (simple et efficace) de faire passer un objet
d'une page aspx à une autre ?

J'ai commencer à regarder la sérialization mais ce terme regroupe
beaucoup
de choses et je n'ai pas encore trouvé quelque chose de simple à mettre
en
place comme en php par exemple où un simple serialize/unserialize via un
get
suffit.

Merci





Utilisez par exemple, les variables de type Session...

//Pour enregistrer un objet dans une variable Session :
this.Session["NomVariable"] = MonObjet;

//Pour la retrouver :
MonObjet = (TypeObjet)this.Session["NomVariable"];

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Delf
Gilles TOURREAU avait écrit le 12/11/2007 :

Utilisez par exemple, les variables de type Session...

//Pour enregistrer un objet dans une variable Session :
this.Session["NomVariable"] = MonObjet;

//Pour la retrouver :
MonObjet = (TypeObjet)this.Session["NomVariable"];



Faudra penser aussi à mettre la décoration [Serializable] au niveau de
la classe représentant ton objet.

namespace ...
{
[Serializable]
public class ...
{
}
}

--
Delf
Avatar
Tony
Ok pour le passage en objet session. J'ai lu que le nombre d'objets session
est limité à 20.
J'utilise les objets session pour les données qui me servent dans toute
l'appli.

Pour mon passage de mon objet d'une page à une autre, j'aurais plutot vu une
serialization dans un champ caché, que je récupère dans ma page destination
(après un submit) pour être désérializé ?!?

Existe t-il une autre méthode que l'objet session ?

Merci
Avatar
Delf
Après mûre réflexion, Tony a écrit :

Ok pour le passage en objet session. J'ai lu que le nombre d'objets session
est limité à 20.



Ah bon c'est vrai ?

J'utilise les objets session pour les données qui me servent dans toute
l'appli.



Dans ce cas là, utiliser la variable d'application Application["..."]
voire Cache["..."].

Pour mon passage de mon objet d'une page à une autre, j'aurais plutot vu une
serialization dans un champ caché, que je récupère dans ma page destination
(après un submit) pour être désérializé ?!?

Existe t-il une autre méthode que l'objet session ?



Le plus simple est vraiment la Session. Une fois passée dans l'autre
page, penser à l'effacer. La sérialisation est en plus automatique...
pourquoi faire plus compliqué :)

--
Delf
Avatar
Gilles TOURREAU
Le Thu, 15 Nov 2007 09:32:19 +0100, Tony hotmail.com> <"<tony_barret"> a
écrit:

Ok pour le passage en objet session. J'ai lu que le nombre d'objets
session
est limité à 20.



Pouvez vous nous poster l'URL de la page où est stipulé cette limitation
???

J'utilise les objets session pour les données qui me servent dans toute
l'appli.

Pour mon passage de mon objet d'une page à une autre, j'aurais plutot vu
une
serialization dans un champ caché, que je récupère dans ma page
destination
(après un submit) pour être désérializé ?!?

Existe t-il une autre méthode que l'objet session ?

Merci





Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Tony
J'ai lu ceci sur la faq asp.net du site developpez.com :

================================================== Lorsque je stocke une 21è information en session, je les perds
toutes. Est-ce normal et pourquoi ?

auteur : Didier Danse
Normal ? Disons que c'est compréhensible lorsque l'on lit ceci :
(http://support.microsoft.com/kb/306070)
Pour résumer, sous Internet Explorer, seulement 20 cookies sont
autorisés par domaine.


==================================================
"Gilles TOURREAU" a écrit dans le message de news:

Le Thu, 15 Nov 2007 09:32:19 +0100, Tony hotmail.com> <"<tony_barret"> a
écrit:

Ok pour le passage en objet session. J'ai lu que le nombre d'objets
session
est limité à 20.



Pouvez vous nous poster l'URL de la page où est stipulé cette limitation
???

J'utilise les objets session pour les données qui me servent dans toute
l'appli.

Pour mon passage de mon objet d'une page à une autre, j'aurais plutot vu
une
serialization dans un champ caché, que je récupère dans ma page
destination
(après un submit) pour être désérializé ?!?

Existe t-il une autre méthode que l'objet session ?

Merci





Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
Delf
Tony avait énoncé :

J'ai lu ceci sur la faq asp.net du site developpez.com :

================================================== > Lorsque je stocke une 21è information en session, je les perds
toutes. Est-ce normal et pourquoi ?

auteur : Didier Danse
Normal ? Disons que c'est compréhensible lorsque l'on lit ceci :
(http://support.microsoft.com/kb/306070)
Pour résumer, sous Internet Explorer, seulement 20 cookies sont
autorisés par domaine.


==================================================


Une session est stockées côté serveur et non cliente. Les cookies ont
une limitation de taille, de mémoire, 64ko, pas les sessions. Et je ne
pense pas qu'il y ait une limitation sur leur nombre. C'est pas pour ça
qu'il faut en abuser :]

--
Delf
Avatar
Gilles TOURREAU
Le Fri, 16 Nov 2007 15:58:35 +0100, Tony hotmail.com> <"<tony_barret"> a
écrit:

J'ai lu ceci sur la faq asp.net du site developpez.com :

================================================== > Lorsque je stocke une 21è information en session, je les
perds
toutes. Est-ce normal et pourquoi ?

auteur : Didier Danse
Normal ? Disons que c'est compréhensible lorsque l'on lit ceci :
(http://support.microsoft.com/kb/306070)
Pour résumer, sous Internet Explorer, seulement 20 cookies sont
autorisés par domaine.


================================================== >



Extrait du MSDN évangile selon Microsoft :
http://msdn2.microsoft.com/fr-fr/library/system.web.sessionstate.httpsessionstate(VS.80).aspx

"Les données de session sont associées à une session de navigateur
spécifique à l'aide d'un identificateur unique. Par défaut, cet
identificateur est stocké dans un cookie de session non expirant au sein
du navigateur,..."

Observez l'emploi du singulier au niveau de "cet identificateur".

C'est à dire qu'il y a UN cookie qui est monopolisé pour stocker
l'identificateur de session... Le nombre de session et cookies n'a rien à
voir !!!

Conclusion :
Jetez la FAQ ou l'auteur à la poubelle...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Avatar
Tony
Je suis d'accord avec vous : cette explication est un peu bizarre et il ne
faut pas abuser des objets session :)
Toujours est-il que le site developpez.com est assez sérieux généralement et
que c'est un peu étrange de retrouver ça là mais bon...
En tout cas merci pour toutes les réponses, j'avance sur la compréhension de
la manipulation des objets en aspx et j'ai même fait un bon tour de la
sérialization. Y a pas à dire c'est quand même super puissant.


"Gilles TOURREAU" a écrit dans le message de news:

Le Fri, 16 Nov 2007 15:58:35 +0100, Tony hotmail.com> <"<tony_barret"> a
écrit:

J'ai lu ceci sur la faq asp.net du site developpez.com :

================================================== >> Lorsque je stocke une 21è information en session, je les
perds
toutes. Est-ce normal et pourquoi ?

auteur : Didier Danse
Normal ? Disons que c'est compréhensible lorsque l'on lit ceci :
(http://support.microsoft.com/kb/306070)
Pour résumer, sous Internet Explorer, seulement 20 cookies sont
autorisés par domaine.


================================================== >>



Extrait du MSDN évangile selon Microsoft :
http://msdn2.microsoft.com/fr-fr/library/system.web.sessionstate.httpsessionstate(VS.80).aspx

"Les données de session sont associées à une session de navigateur
spécifique à l'aide d'un identificateur unique. Par défaut, cet
identificateur est stocké dans un cookie de session non expirant au sein
du navigateur,..."

Observez l'emploi du singulier au niveau de "cet identificateur".

C'est à dire qu'il y a UN cookie qui est monopolisé pour stocker
l'identificateur de session... Le nombre de session et cookies n'a rien à
voir !!!

Conclusion :
Jetez la FAQ ou l'auteur à la poubelle...

Cordialement

--
Gilles TOURREAU


S.A.R.L. P.O.S
Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr


Avatar
Delf
Tony a formulé ce lundi :

Y a pas à dire c'est quand même super puissant.



C'est un peu ce que je me dis tous les jours depuis 2 ans...

Puissant... :)

--
Delf