Question

I ai une application MVC de base qui utilise NHibernate pour OR / M et l'accès aux données, SysCache2 pour le cache de second niveau dans NHibernate, et SqlCacheDependency pour la logique d'invalidation de la mémoire cache du sous-jacent. Je crois avoir tout configuré correctement (je peux ajouter des détails sur demande) et je peux voir que les articles sont mises en cache sur le se côté de l'application.

Cependant, si les éléments I de mise à jour dans la table de base de données directement, aucune mise à jour est toujours renvoyée à l'application par le SqlCacheDependency et la SysCache2 dans NHibernate. Ainsi, les données sont mises à jour dans la base de données et est différent de ce qui est dans le cache de l'application (en NHibernate avec SysCache2).

Je peux voir la valeur de la [changeId] colonne en corrélation avec la table de domaine correct incrémenter dans le tableau [AspNet_SqlCacheTablesForChangeNotification] donc je suis assez certain que le SQL Service Broker est installé et configuré correctement. Si je profil la base de données avec SQL Profiler, je peux voir les appels d'installation pour les files d'attente, les services et sprocs ainsi que les appels BEGIN CONVERSATION pour la surveillance.

Pas vraiment sûr de ce que pour vérifier prochain. Quelqu'un at-il eu ce problème avant et quelle était la résolution?

Était-ce utile?

La solution

Il se trouve que le principal problème était le pilote sql j'utilisais ne prennent pas en charge lots. Une fois que je l'ai rallumé à la NHibernate par défaut SQL Server 2008, tout pilote a swimingly.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top