MAJ dépendance de cache sql server

Résolu
equinoxe83 Messages postés 240 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 18 février 2011 - 17 sept. 2007 à 18:42
equinoxe83 Messages postés 240 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 18 février 2011 - 18 sept. 2007 à 10:38
Bonjour,
J'ai un Pb de rafraichissement de gridview après MAJ (via un formview).

Après l'update du formview, dans l'event itemupdated du formview, je fais un gridview.databind(). Tout marchait bien jusqu'à ce que je mette en place le SqlCacheDependency. Dès lors, le gridview n'affiche plus les mises à jour (comme si le cache ne détectait pas de changement dans la base).
Tout est ok dans mon code. Pour preuve, si je place un point d'arret dans mon code (dans le itemupdated), dès que je passe à l'instruction suivante, la mise à jour est visible sur le gridview.
J'ai l'impression que la base n'a pas le temps d'avertir le serveur asp qu'une MAJ a été réalisée.
Trois possibilites, donc :
- forcer le cache du gridview à se mettre à jour,
- utiliser un évenement spécifique à la maj de la base (et non du formview),
- réaliser un "wait for " d'un d"lai suffisant pour permettre à sql server d'informer asp qu'une maj a été réalisée et qu'il doit recharger les données.

Quelqu'un peut me renseigner sur comment réaliser l'un des points précités ? (le moins propre étant manifestement le dernier ...)

Merci d'avance

Frédéric

1 réponse

equinoxe83 Messages postés 240 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 18 février 2011
18 sept. 2007 à 10:38
J'ai trouvé une solution, certes quelque peu empirique, mais bon, c'est le résultat qui compte, non ?

Je désactive le cache (monObjectDataSource.EnableCaching=False) dans l'event d'enregistrement (bouton update),
puis dans l'event itemupdated (vu plus haut) je fais un databind de mon gridview et je réactive le cache.

Malgré mes recherches, je n'ai pas trouvé d'autre solution.

@+

PS : peu de réponses sur mes divers mails cette semaine ... Mais bon, peut-être que personne n'avait eu les cas évoqués avant ??
3
Rejoignez-nous