【问题标题】:NHibernate + SysCache2 + SqlCacheDependency - Cache not invalidating in applicationNHibernate + SysCache2 + SqlCacheDependency - 缓存在应用程序中没有失效
【发布时间】:2011-09-08 02:32:55
【问题描述】:

我有一个基本的 MVC 应用程序,它使用 NHibernate 进行 OR/M 和数据访问,SysCache2 用于 NHibernate 中的二级缓存,SqlCacheDependency 用于底层缓存失效逻辑。我相信我已经正确设置了所有内容(如果需要,我可以添加详细信息)并且我可以看到项目正在缓存在应用程序端。

但是,如果我直接更新数据库表中的项目,则不会通过 SqlCacheDependency 将更新发送回应用程序以及 NHibernate 中的 SysCache2。因此,数据库中的数据正在更新,并且与应用程序缓存中的数据不同(在 NHibernate 和 SysCache2 中)。

我可以看到 [changeId] 列的值与 [AspNet_SqlCacheTablesForChangeNotification] 表中的正确域表递增相关,因此我相当确定 SQL Service Broker 的设置和配置正确。如果我使用 SQL Profiler 分析数据库,我可以看到队列、服务和存储过程的设置调用以及用于监视的 BEGIN CONVERSATION 调用。

不确定接下来要检查什么。以前有人遇到过这个问题吗?解决方法是什么?

【问题讨论】:

    标签: sql-server-2008 nhibernate asp.net-mvc-3 sqlcachedependency syscache2


    【解决方案1】:

    原来主要问题是我使用的 sql 驱动程序不支持批处理。一旦我将其切换回默认的 nhibernate sql 2008 驱动程序,一切都会顺利进行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2011-06-18
      相关资源
      最近更新 更多