【发布时间】:2012-10-19 08:49:27
【问题描述】:
我遇到了一个明显的缓存问题,即 NHibernate 返回的内容与数据库中的内容不匹配。
我相信这是二级缓存数据。看起来我可以使用 Evict 来执行此操作,但是 何时应该实际调用 Evict 方法? 对于我的特定应用程序,数据对于用户来说是唯一的,并且提供的数据可能是唯一的只会使用一次*。
我可以完全禁用这些对象集的 Level2 缓存吗?
10/31 更新
我的场景是这样的:我有一个购物车,客户将在其中添加和删除商品。我正在做的事情如下:在处理购物车的更新之前,我驱逐了Cart 和CartProduct 实体。完成后,我从提供程序检索CartProducts 列表并返回视图(这发生在 .NET MVC 控制器中)。
11/3 更新
购物车已经完成,我遇到了一个似乎与同一个 NHibernate 问题有关的问题,但实际上是一个 MVC 问题。深入挖掘发现 HTML Helper 扩展覆盖了我假设的值并替换为 Model 状态中的值。所以对这个是双重打击。希望这对某人有所帮助。
【问题讨论】:
标签: asp.net-mvc nhibernate caching evict