У меня есть базовое приложение MVC, которое использует NHibernate для OR/M и доступа к данным, SysCache2 для кеша второго уровня в NHibernate и SqlCacheDependency для базовой логики аннулирования кеша. Я считаю, что все настроено правильно (я могу добавить подробности, если потребуется), и я вижу, что элементы кэшируются на стороне приложения.
Однако, если я обновляю элементы в таблице базы данных напрямую, обновление никогда не отправляется обратно в приложение через SqlCacheDependency и в SysCache2 в NHibernate. Итак, данные в базе обновляются и отличаются от того, что есть в кеше в приложении (в NHibernate с SysCache2).
Я вижу значение для столбца [changeId], коррелирующего с правильной таблицей доменов, увеличивающейся в таблице [AspNet_SqlCacheTablesForChangeNotification], поэтому я вполне уверен, что SQL Service Broker установлен и настроен правильно. Если я профилирую базу данных с помощью SQL Profiler, я могу увидеть вызовы настройки для очередей, служб и процедур, а также вызовы BEGIN CONVERSATION для мониторинга.
Не совсем уверен, что проверить дальше. У кого-нибудь была эта проблема раньше и каково было решение?