2

我们有一个相对成熟的网站,它使用 Castle 的 ActiveRecord 来实现它的持久性模式(以及 nHiberante)。我们一直在使用单节点缓存,因此可以依赖内置的 ASP.Net 缓存,并在我们的实体上简单地使用 ActiveRecord 的缓存标记 ( [ActiveRecord(Cache = CacheEnum.ReadWrite)])。这工作正常,NHProf 已确认我们正在访问二级缓存。

我们现在正在向 x-Nodes 发展,需要一个可以跨多个节点同步的缓存。我们正在试用 nCache,我已经设置好了(性能计数器显示测试缓存添加成功)。但是,在修改 web.config 并添加对我的应用程序的引用(对于配置部分)之后,一切似乎都很好。

然而,当我在网站上移动时,性能计数器并没有移动。所有文档都提到了个人

<ncache><class></class></ncache>

每个要缓存的类的设置。显然,我认为 ActiveRecord 标记可用于此目的。

最后的问题 - 有人知道 NCache 是否使用 ActiveRecord 缓存标签,还是我必须使用 web.config 来指定缓存策略?我真的很想使用 ActiveRecord 标签....

4

1 回答 1

4

好的,我找到了许多答案和陷阱,最重要的是现在它可以工作了,所以这里有一些人们可能会觉得有用的提示:

  • ActiveRecord 缓存与 NCache 配合使用非常好,无需更改。
  • NCache 目前针对 NHibernate 1.2 发布,并针对 .Net 2.0 构建

我们有 NHibernate 的自定义版本(来自 Castle trunk)。我们也在使用.Net3.5。结果我们不得不:

  • 添加 NCache nHibernate 适配器的源
  • 将代码移植到 3.5(有一些小的修改)
  • 更新我们的配置文件

而已。当我们访问该站点时,Perfmon 的 NCache 代码会翻转。惊人的。

如果需要,我可以发布代码,请告诉我。

感谢http://www.alachisoft.com/forum/index.php?showtopic=18488

于 2009-06-04T13:04:38.737 回答