Nhibernate + syscache2 + sqlcachedependency - кэш не недействительный в приложении

StackOverflow https://stackoverflow.com/questions/7342531

Вопрос

У меня есть базовое приложение MVC, которое использует nhibernate для OR/M и доступ к данным, Syscache2 для кэша второго уровня в nhibernate и sqlcachedEpendency для логики недействительной кэша. Я полагаю, что у меня есть все правильно (я могу добавить детали, если запрошена), и я вижу, что элементы получают кэширование на стороне приложения.

Однако, если я напрямую обновляю элементы в таблице баз данных, обновление никогда не отправляется обратно в приложение через sqlcachedependency и на Syscache2 в nhibernate. Таким образом, данные обновляются в базе данных и отличаются от того, что находится в кэше в приложении (в nhibernate с syscache2).

Я вижу значение для столбца [Изменение], коррелирующее с правильной таблицей доменов, в таблице [aspnet_sqlcachetablesforchangenotification], поэтому я довольно уверен, что сервисный брокер SQL настроен и настроен правильно. Если я профилю базу данных с помощью SQL Profiler, я увижу, что настройка требует очередей, сервисов и Sprocs, а также для начала разговора для мониторинга.

Не совсем уверен, что проверить дальше. У кого -нибудь была эта проблема раньше, и каково было резолюция?

Это было полезно?

Решение

Оказывается, основной проблемой было то, что драйвер SQL, который я использовал, не поддерживал партии. После того, как я переключил его обратно на драйвер по умолчанию Nhibernate SQL 2008, все пошло на плавание.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top