none
Perte d'objet en cache ASP.NET 3.5 C# RRS feed

  • Question

  • Bonjour,
    j'ai un problème une peut spécial que je vais éssayer de détailler clairement.

    J'ai un serveur dédié en Windows 2003, IIS6 sur lequel je déploie une application Asp.Net Ajax écrite en C#.

    Dans cette Application j'utilise une classe personnalisée qui garde certains parametres de l'utilisateur comme nom, prenom, mais aussi des infos et un flux xml.
    Cette classe implémente ISerializable.

    Lors de l'identification, je sauve les données de l'utilisateur dans le cache en utilisant le SessionId pour le nom de la clé de cache.

    "BackofficeUserProfile_"+ Session.SessionID



    puis dans le Page-Preinit, je charge l'objet depuis le cache en faisant le bon Cast.

    this.CurrentUser = (BackofficeUserProfile)HttpContext.Current.Cache.Get("BackofficeUserProfile_" + Session.SessionID);


    Sous vs2088 tout se passe bien, mais quand je livre sur le serveur 2003 rien ne va plus.
    l'objet en cache à disparu et renvoi null quand je fait le Get.

    Le pire est que cela fonctione sur 2 autres serveurs avec exactement la mème config:
    Install identique
    ServicePack identique
    Config IIS identique

    j'ai mème vérifié les droits, et tout est identique.

    Au passage si cela peut être une piste, je me suis apperçu que mis à part lors de l'identification, je ne sauvais jamais les modification éffectuées sur l'objet pendant l'utilisation de l'application une fois loggué, hors toutes les mises à jours étaient pourtant bien prise en compte d'une page à l'autre ?

    Toutes mes pages en mode loggué héritent d'une classe personnalisée qui elle mème hérite de la classe Page.
    Le pre_init est défini dans la classe personnalisée.

    Donc et pour finir, auriez vous une piste pour trouver d'ou vien ce problème de cache qui remet mon application en question?

    Merci à vous

    lundi 26 octobre 2009 15:30

Toutes les réponses

  • Bonjour,

    Est-ce que ton cache est lié à un événement de rafraîchissement ? par exemple un fichier sur disque change et ton cache est réinitialisé ?

    Est-ce que les applications Web sont bien séparés au niveau des pools ?


    .NET life
    if (this.Reply.HelpsYou)
    {
        MarkAsAnswer = true;
    }
    vendredi 6 août 2010 13:53
  • Bonjour Bossehog-fr,

    Est-ce que vous avez résolu votre problème ?

    Merci d’avance de tenir la communauté informée sur la suite de vos démarches.

    Cordialement,
    aelassas.free.fr
    vendredi 28 octobre 2011 22:46
    Auteur de réponse