我们在nHibernate实现中设置了许多缓存区域.为了避免负载均衡的Web服务器出现问题,我希望有效地禁用编辑缓存数据的页面上的缓存.我可以写一个方法来清除我的所有查询缓存,我的类缓存和我的实体缓存很容易.
但我真正想要的是按区域清除缓存.sessionFactory.EvictQueries()将采用region参数,但Evict()和EvictCollection()不会.我真的不想在这里丢弃整个缓存,也不想维护某种笨拙的字典,将类型与缓存区域相关联.nHibernate是否有办法向实体或集合询问其缓存设置是什么?
谢谢
我一直在DateTime从 .NET MVC 中的字符串解析中获得一些乐趣,并且我发现了一些奇怪的行为。看看这个测试:
[Test]
public void DoesItWork()
{
DateTime theTime = DateTime.Now;
DateTime theUTCTime = theTime.ToUniversalTime();
Assert.IsTrue(theTime==theUTCTime);
}
Run Code Online (Sandbox Code Playgroud)
我现在在英国,并且是 BST,因此我预计 UTC 时间比 的值晚一个小时DateTime.Now。确实如此。但是,当我调用.ToUniversalTime()初始日期时间并减去一个小时时,该值的 Kind 属性也会更新 - 从 Local 到 Utc。这也是我所期待的。
但是当我比较这两个DateTime变量的值时,相等运算符不会考虑不同的 Kind 值,而只是报告它们是不同的值。对我来说,这似乎完全错误。
任何人都可以解释为什么它会这样工作吗?