首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NHIbernate SysCache2和SQLDependency问题

NHIbernate SysCache2和SQLDependency问题
EN

Stack Overflow用户
提问于 2010-03-04 05:29:33
回答 1查看 2K关注 0票数 3

我已经将我的SQL Server2008上的enable_broker设置为使用SQLDepndency

我已经将我的.Net应用程序配置为使用带有缓存区域的Syscache2,如下所示:

代码语言:javascript
复制
  <syscache2>
      <cacheRegion name="BlogEntriesCacheRegion" priority="High">
        <dependencies>
          <commands>
            <add name="BlogEntries" 
                 command="Select EntryId from dbo.Blog_Entries where ENABLED=1" 
            />
          </commands>
        </dependencies>
      </cacheRegion>
  </syscache2>

我的Hbm文件如下所示:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">

  <class name="BlogEntry" table="Blog_Entries">

    <cache usage="nonstrict-read-write" region="BlogEntriesCacheRegion"/>
    ....
  </class>
</hibernate-mapping>

我还为针对BlogEntry的查询启用了查询缓存

当我第一次查询时,结果被缓存在二级缓存中,正如预期的那样。

如果我现在去更改blog_entries中的一行,一切都按预期工作,缓存已过期,则会收到以下消息:

代码语言:javascript
复制
2010-03-03 12:56:50,583 [7] DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - Cache items for region 'BlogEntriesCacheRegion' have been removed from the cache for the following reason : DependencyChanged

我早就料到了。在下一个页面请求中,查询及其结果被存储回缓存中。但是,即使没有进一步更改,缓存也会立即再次失效。

代码语言:javascript
复制
DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - Cache items for region 'BlogEntriesCacheRegion' have been removed from the cache for the following reason : DependencyChanged

我的缓存每次都会不断失效,底层数据不会发生任何变化。只有重启应用程序才允许缓存再次运行-但仅在第一次缓存数据时(同样,第一次弄脏缓存会导致缓存再也无法工作)

有没有人看到这个问题,或者知道这可能是什么?我在想,syscache2需要处理SQLDependency onChange事件,它可能正在处理-所以我不明白为什么SQL Server一直发送SQLDependency depedencyChanged。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2010-03-29 23:14:00

我们在一个数据库实例上遇到了同样的问题,但在另一个数据库实例上却没有。这显然是数据库端的某种权限问题,因为在这两种情况下都使用完全相同的NHibernate配置。

在工作情况下,缓存的行为与预期一样,在另一个情况下(这是一个具有更严格权限的数据库引擎),我们得到了与您提到的完全相同的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2375119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档