1

我有一個基本的MVC應用程序使用NHibernate進行OR/M和數據訪問,SysCache2用於NHibernate中的第二級緩存,SqlCacheDependency用於底層緩存失效邏輯。我相信我已經正確設置了所有東西(如果需要,我可以添加詳細信息),並且我可以看到項目正在緩存在應用程序端。NHibernate + SysCache2 + SqlCacheDependency - 緩存不會在應用程序中失效

不過,如果我直接更新數據庫表中的項目,沒有更新過送回了通過的SqlCacheDependency應用程序並在SysCache2 NHibernate的。因此,數據正在數據庫中更新,並且與應用程序中的緩存中的數據不同(在使用SysCache2的NHibernate中)。

我可以看到與[AspNet_SqlCacheTablesForChangeNotification]表中正確的域表遞增相關的[changeId]列的值,因此我相當肯定SQL Service Broker已設置並正確配置。如果我使用SQL Profiler對數據庫進行概要分析,則可以看到針對隊列,服務和sprocs以及BEGIN CONVERSATION調用進行監視的設置調用。

不是真的知道下一步該檢查什麼。有沒有人有過這個問題,這個決議是什麼?

回答

1

原來的首要問題是我用不支持批量SQL驅動程序。一旦我將它切換回默認的nhibernate sql 2008驅動程序,所有事情都開始順利進行。