IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Fichiers de données et perte de session [Débutant]


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Par défaut Fichiers de données et perte de session
    Bonjour,

    Je développe une application ASP/C#.NET avec Visual Studio 2008, et mon application est publiée sur un serveur IIS.

    Dans mon répertoire Inetpub/wwwroot/monAppli/
    j'ai un répertoire Data, où j'écris/supprime des fichiers lors de l'utilisation de mon application.

    Je me rends compte qu'à chaque écriture/suppression de ces fichiers de données, qu'elle se fasse depuis mon application ou manuellement sur le serveur, cela me fait perdre ma session... comme si je modifiais les sources ou le web.config...

    Ce répertoire Data ne fait pas partie des sources dans Visual Studio, je l'ai créé manuellement, j'ai bien les droits dessus, et bien sûr, ce n'est pas dans le code que je supprime mon objet session.

    Auriez-vous une aide à m'apporter svp ?
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    De quelle façon accèdes-tu à ces fichiers? Aurais-tu un exemple de code? Les fichiers sont considérés comme des ressources externes pour lesquelles il faut prendre soin d'implémenter correctement l'interface IDisposable.

    Ce que je vais dire est une supposition et mériterait d'être confirmé: dans la mesure où tu utilises des objets .Net pour manipuler les fichiers (ex: FileStream), le garbage collector conserve des références en mémoire. Il est fort probable que ces dernières aient des références qui conduisent jusqu'au sessions. Le comportement de IIS/Framework serait de nettoyer en cascade toute l'arborescence des références.

    Personnellement, plutôt que des variables de session, j'utilise des propriétés statiques ou des singleton.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Par défaut
    Salut Immobilis,

    Alors par le code j'utilise simplement System.IO pour faire des File.copy, et des File.Delete...

    J'ai d'autres projets qui fonctionnent de la même façon, avec un (ou plusieurs) répertoire de données, où j'écris régulièrement, et je ne perds pas ma session...

    J'ai l'impression que c'est une config qqpart qui donne ce comportement, plus que le code qui est tout à fait classique. Le Web.config ou IIS, j'ai vérifié sans résultat pour le moment.

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Dans ma mémoire, l'ajout de fichier dans certains répertoires (bin en l'occurence) avait pour effet de provoquer un redémarrage du pool et ainsi une perte de session.
    A priori tu ne modifies rien dans le bin, mais as-tu vérifié si ton pool avait été redémarré après avoir constaté une perte de l'état de session ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 282
    Par défaut
    Salut Calagan,
    Non le pool ne redémarre pas, il suffit que (même manuellement) je crée un répertoire dans mon rép. de données pour que ma session soit perdue...

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Pourrais-tu nous montrer le code qui assigne la variable de session ainsi que le code qui créé les fichiers? Si il y a lieu le code qui lit dans les fichiers créés.
    "Winter is coming" (ma nouvelle page d'accueil)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Refresh fichier .config, perte de session
    Par Jayjay84 dans le forum C#
    Réponses: 0
    Dernier message: 15/04/2011, 11h35
  2. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  3. Réponses: 5
    Dernier message: 12/09/2006, 00h01
  4. [Fichier] Récupérer donnée d'un fichier
    Par johnlehardos dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 11/05/2004, 13h42
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo