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

Perte de données "Session"

12 réponses
Avatar
Gérard Bellino
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide

10 réponses

1 2
Avatar
Patrice
Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session (en
InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de l'application
web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher (j'utilise
toujours la solution #1 pour que les données et l'application soient
séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide





Avatar
Gérard Bellino
Merci pour la validation du problème.

Concernant la solution 3, j'ai vérifié que "Session.SessionID" est bien le
même avant et après la création d'un répertoire supplémentaire,
je peux donc stockes les variables de session dans SQL Sever.

Par contre je ne comprends pas bien la solution #1.
Est-ce que " Stocker les répertoires supplémentaires en dehors de
l'application "
signifie en dehors du classique "Inetpub/wwwroot" ?

Merci d'avance
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et l'application
soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide








Avatar
Delf
Gérard Bellino a formulé la demande :

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.



Ah ouais ça me l'a déjà fait, à s'arracher la tête...
Bizarrement aujourd'hui j'ai codé des méthodes qui me génèrent des
répertoires (Directory.CreateDirectory()) au niveau du site, aucun
problème.

Désolé mais je ne me souviens plus comment j'avais outre-passé ceci ;
ça me reviendra p'tre...

--
Delf
Avatar
Patrice
Oui c'est cela. Ma préférence personnelle est de créer mes dossiers et
fichiers de données ailleurs que sous la racine de l'application.

Delf semble s'en être tiré autrement si cela lui revient (en gros ASP.NET
surveille les modifications sous la racine donc peut-être en utilisant un
dossier virtuel qui ne serait peut-être pas surveillé, ou sous App_Data qui
ne serait peut-être pas examiné ou en configurant qq chose dans le
web.config).

Difficile à dire sans savoir quel est le but de ces fichiers mais
généralement je trouve plus propre de ne pas mélanger l'application et ses
données...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion : O9ABd$
Merci pour la validation du problème.

Concernant la solution 3, j'ai vérifié que "Session.SessionID" est bien le
même avant et après la création d'un répertoire supplémentaire,
je peux donc stockes les variables de session dans SQL Sever.

Par contre je ne comprends pas bien la solution #1.
Est-ce que " Stocker les répertoires supplémentaires en dehors de
l'application "
signifie en dehors du classique "Inetpub/wwwroot" ?

Merci d'avance
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et l'application
soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide












Avatar
Gérard Bellino
J'ai essayé dans App_Data mais le problème est le même.
Ces répertoires créés à la volée doivent contenir des photos à afficher dans
les pages Web de l'utilisateur ; les créer en dehors de l'application les
rendraient, je pense, inutilisables.
Je vais donc mémoriser les variables dans la bases de données.

merci encore,
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Oui c'est cela. Ma préférence personnelle est de créer mes dossiers et
fichiers de données ailleurs que sous la racine de l'application.

Delf semble s'en être tiré autrement si cela lui revient (en gros ASP.NET
surveille les modifications sous la racine donc peut-être en utilisant un
dossier virtuel qui ne serait peut-être pas surveillé, ou sous App_Data
qui ne serait peut-être pas examiné ou en configurant qq chose dans le
web.config).

Difficile à dire sans savoir quel est le but de ces fichiers mais
généralement je trouve plus propre de ne pas mélanger l'application et ses
données...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion : O9ABd$
Merci pour la validation du problème.

Concernant la solution 3, j'ai vérifié que "Session.SessionID" est bien
le même avant et après la création d'un répertoire supplémentaire,
je peux donc stockes les variables de session dans SQL Sever.

Par contre je ne comprends pas bien la solution #1.
Est-ce que " Stocker les répertoires supplémentaires en dehors de
l'application "
signifie en dehors du classique "Inetpub/wwwroot" ?

Merci d'avance
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et l'application
soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide















Avatar
Patrice
As tu essayé un dossier virtuel ?

Sinon une page ou un handler peut effectuer le rendu de ces images même si
elles sont en dehors de l'application. avec le type mime qui va bien et :
http://msdn.microsoft.com/fr-fr/library/12s31dhy(VS.80).aspx

Nous on est plus ou moins obligé (deux serveurs webs en "load balancing"
donc les données ne sont pas stockées sur les serveurs web).

--
Patrice


"Gérard Bellino" a écrit dans le message de
groupe de discussion : eANqTB#
J'ai essayé dans App_Data mais le problème est le même.
Ces répertoires créés à la volée doivent contenir des photos à afficher
dans les pages Web de l'utilisateur ; les créer en dehors de l'application
les rendraient, je pense, inutilisables.
Je vais donc mémoriser les variables dans la bases de données.

merci encore,
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Oui c'est cela. Ma préférence personnelle est de créer mes dossiers et
fichiers de données ailleurs que sous la racine de l'application.

Delf semble s'en être tiré autrement si cela lui revient (en gros ASP.NET
surveille les modifications sous la racine donc peut-être en utilisant un
dossier virtuel qui ne serait peut-être pas surveillé, ou sous App_Data
qui ne serait peut-être pas examiné ou en configurant qq chose dans le
web.config).

Difficile à dire sans savoir quel est le but de ces fichiers mais
généralement je trouve plus propre de ne pas mélanger l'application et
ses données...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion : O9ABd$
Merci pour la validation du problème.

Concernant la solution 3, j'ai vérifié que "Session.SessionID" est bien
le même avant et après la création d'un répertoire supplémentaire,
je peux donc stockes les variables de session dans SQL Sever.

Par contre je ne comprends pas bien la solution #1.
Est-ce que " Stocker les répertoires supplémentaires en dehors de
l'application "
signifie en dehors du classique "Inetpub/wwwroot" ?

Merci d'avance
Gérard

"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et
l'application soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour
chaque utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les
données "session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide



















Avatar
Delf
On 10 fév, 10:02, "Patrice" <http://www.chez.com/scribe/> wrote:

Oui c'est cela. Ma préférence personnelle est de créer mes dossiers et
fichiers de données ailleurs que sous la racine de l'application.

Delf semble s'en être tiré autrement si cela lui revient (en gros ASP .NET
surveille les modifications sous la racine donc peut-être en utilisant un
dossier virtuel qui ne serait peut-être pas surveillé, ou sous App_Da ta qui
ne serait peut-être pas examiné ou en configurant qq chose dans le
web.config).



Je ne m'en souviens plus. Le plus étonnant c'est qu'actuellement, j'ai
un site avec à sa racine un répertoire App_Temp où se créé
dynamiquement une arborescence et côté session, aucun souci.

Difficile à dire sans savoir quel est le but de ces fichiers mais
généralement je trouve plus propre de ne pas mélanger l'application et ses
données...



Vrai.
Mais avoir à configurer en plus un répertoire virtuel... obliger de
faire une doc en plus du MSI (on doit pouvoir le déclarer dedans à
tous les coups)...
On choisi la simplicité, d'autant plus que ce sont des données
publiques. Alors bon...

--
Delf
Avatar
Gérard Bellino
Dans mon cas, la création de nouveaux répertoires est très fréquente.
Pour éviter les redémarrages incessants, j'essaie de passer par un
répertoire virtuel" mais sans succès pour l'instant.

J'ai toujours le message "Impossible de trouver une partie du chemin
d'accès".

Il me manque certainement un paramétrage quelque part.
merci pour toute aide

Gérard


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et l'application
soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide








Avatar
Patrice
Intéressant Delf.Tu es bien en "InProc" pour les sessions ?

--
Patrice

"Delf" a écrit dans le message de groupe de discussion
:
On 10 fév, 10:02, "Patrice" <http://www.chez.com/scribe/> wrote:

Oui c'est cela. Ma préférence personnelle est de créer mes dossiers et
fichiers de données ailleurs que sous la racine de l'application.

Delf semble s'en être tiré autrement si cela lui revient (en gros ASP.NET
surveille les modifications sous la racine donc peut-être en utilisant un
dossier virtuel qui ne serait peut-être pas surveillé, ou sous App_Data
qui
ne serait peut-être pas examiné ou en configurant qq chose dans le
web.config).



Je ne m'en souviens plus. Le plus étonnant c'est qu'actuellement, j'ai
un site avec à sa racine un répertoire App_Temp où se créé
dynamiquement une arborescence et côté session, aucun souci.

Difficile à dire sans savoir quel est le but de ces fichiers mais
généralement je trouve plus propre de ne pas mélanger l'application et
ses
données...



Vrai.
Mais avoir à configurer en plus un répertoire virtuel... obliger de
faire une doc en plus du MSI (on doit pouvoir le déclarer dedans à
tous les coups)...
On choisi la simplicité, d'autant plus que ce sont des données
publiques. Alors bon...

--
Delf


Avatar
Patrice
Imprimer le chemin et voir si il existe bien. Au besoin faire un
Directory.Exists our un File.Exists pour bien vérifier que le chemin est
correct. Server.MapPath pour résoudre le dossier virtuel en chemin
physique...

Delf discute en parallèle et retrouvera peut-être sa méthode...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion : OL0Ae$
Dans mon cas, la création de nouveaux répertoires est très fréquente.
Pour éviter les redémarrages incessants, j'essaie de passer par un
répertoire virtuel" mais sans succès pour l'instant.

J'ai toujours le message "Impossible de trouver une partie du chemin
d'accès".

Il me manque certainement un paramétrage quelque part.
merci pour toute aide

Gérard


"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:

Toute modification de l'application est vue comme une mise à jour et
provoque un redémarrage de l'appli donc pertes des variables de session
(en InProc).

Je recommenderais de stocker d'éventuels dossiers en dehors de
l'application web elle-même...

Le faire via un dossier virtuel pourrait peut-être aussi marcher
(j'utilise toujours la solution #1 pour que les données et l'application
soient séparées).

Ou encore stocker les variables de session dans SQL Server...

Je pense que la solution #1 reste préférable...

--
Patrice

"Gérard Bellino" a écrit dans le message de
groupe de discussion :
Bonjour,

J'utilise l'objet "page.session" pour mémoriser des données pour chaque
utilisateur.
Lorsqu'un nouveau répertoire est créé dynamiquement, toutes les données
"session" sont perdues pour tous les utilisateurs.

merci d'avance pour toute aide












1 2