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 :

Mise en cache SqlDataSource


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Par défaut Mise en cache SqlDataSource
    Bonjour à tous, je voudrai mettre en cache mon SqlDataSource et pouvoir, quand je le souhaite, recharger les données de la base. Alors j'ai mis en cache et j'associe a une clé, et ensuite je voudrai faire un Cache.Remove(maCle); pour effacer le cache.

    Voici mon code du SqlDataSource :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
    	ConnectionString="<%$ ConnectionStrings:batifacConnectionString %>" 
    	ProviderName="<%$ ConnectionStrings:batifacConnectionString.ProviderName %>" 
    	SelectCommand="SELECT * FROM document" EnableCaching="True" 
    	CacheKeyDependency="CacheSql" CacheDuration="0">
    </asp:SqlDataSource>
    Mais lorsque que je regarde la taille du cache en faisant : Cache.Count; j'obtient 0.

    Es ce que le SqlDataSource s'ajoute automatiquement dans Cache ?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Par défaut
    Bonsoir,

    1 ère chose : si la durée de vie de la variable en cache est de 0 millisecondes , c'est déjà bizarre,essaie d'augmenter la valeur de CacheDuration

    2eme chose : Mettre en cache les données de l'objectDatasource n'est pas souvent conseillé . A chaque postBack , ce sont les données du cache qui sont rechargé et non plus celles de la DB . Donc , il se pourait que ce qui s'affiche au client ne soit plus représentatif de ce qui se trouve en DB (Changement d'état)

    Sinon dans ce cas précis , je pense que le SqlCacheDependcy gère lui même le caching des données en envoyant une sorte de "Ping" à la table pour voir s'il y a eu un changement. Si non , alors il charge le cache ,sinon il recharge de la DB et écrase le Cache avec ces nouvelles données ...

    La MSDN explique très bien tout ce que le SQLCacheDepency apporte.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par issou Voir le message
    2eme chose : Mettre en cache les données de l'objectDatasource n'est pas souvent conseillé . A chaque postBack , ce sont les données du cache qui sont rechargé et non plus celles de la DB . Donc , il se pourait que ce qui s'affiche au client ne soit plus représentatif de ce qui se trouve en DB (Changement d'état)
    Justement, ça peut être l'effet recherché... dans certains cas, tu n'as pas vraiment besoin de données très "fraiches". De plus, pour peu que la requête soit un peu lourde, ça peut être très pénalisant de requêter la base de données à chaque fois

  4. #4
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Par défaut
    Citation Envoyé par issou Voir le message
    Sinon dans ce cas précis , je pense que le SqlCacheDependcy gère lui même le caching des données en envoyant une sorte de "Ping" à la table pour voir s'il y a eu un changement. Si non , alors il charge le cache ,sinon il recharge de la DB et écrase le Cache avec ces nouvelles données ...

    La MSDN explique très bien tout ce que le SQLCacheDepency apporte.
    J'ai essayé de modifier la base et de voir si le cache s'actualiserai tout seul...mais malheureusement ça ne fonctionne pas.

    J'ai beaucoup lu MSDN avant de venir poser la question, il n'explique pas comment effacer ce cache.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 136
    Par défaut
    Après les conseils de GoTrUnKo il m'a donner ce site :
    http://beatgates.blogspot.com/2009/1...atasource.html

    Et j'ai donc réussi faire ce que je souhaitais.
    Merci à tous

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

Discussions similaires

  1. [Forum] Mise en cache
    Par Jukien dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 16/08/2006, 15h41
  2. Empêcher la mise en cache
    Par Huntress dans le forum Langage
    Réponses: 4
    Dernier message: 30/03/2006, 11h54
  3. Mise en cache d'une page
    Par clad523 dans le forum ASP
    Réponses: 1
    Dernier message: 06/03/2006, 11h44
  4. Empêcher la mise en cache des images
    Par oranoutan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 15/02/2006, 11h49
  5. mise en cache du navigateur
    Par littleqi dans le forum ASP
    Réponses: 4
    Dernier message: 03/06/2005, 15h18

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