【发布时间】:2011-03-24 11:54:27
【问题描述】:
我的 ASP.NET MVC2 项目有问题。我使用 Fluent NHibernate 作为 ORM,我非常喜欢它。我遇到的问题是缓存(我认为)。例如,我有一个 JQuery DataTable,它通过控制器从数据库中使用 ajax 获取数据。 DataTable 列出了数据库中的不同内容,如果我删除或添加一些帖子,数据似乎不会更新,即使调用正在进行并且 NHibernate 做了它应该做的事情(我认为)。
如果我重新运行项目(本地编程),数据只会按应有的方式更新,但有时即使这样也不起作用。
是缓存问题吗?是 NHibernate 缓存还是浏览器?
【问题讨论】:
-
你只在 IE 中看到这个吗?例如在 Firefox/Chrome 中尝试。 IE 非常积极地缓存 ajax 请求。另外,添加帖子后,您可以检查数据库并查看数据是否更新。
-
我在 chrome 和 FF 中看到它。问题是我通过将帖子直接添加到数据库而不是通过应用程序来测试它。所以数据库正确更新了。
-
您需要通过应用程序来允许 nHibernate 看到数据,否则数据对 nHibernate 不可用。您将不得不 Clear() 缓存以强制 nHibernate 返回数据库。
-
是的,你一定是对的。因为如果我添加具有我功能的新用户(并与他们一起登录),它就会起作用。谢谢!
标签: ajax nhibernate asp.net-mvc-2 caching datatable