【发布时间】:2016-08-22 21:31:54
【问题描述】:
我正在构建一个带有更新表单的个人资料页面。在提交包含新数据和几次页面刷新的表单后,我有时会看到新数据,有时会看到旧数据。这取决于处理当前请求的线程。一个线程包含新数据,另一个包含旧数据。 NHibernate 是使用 ThreadStaticSessionContext 和 NoCacheProvider 配置的。在 Autofac UserStore 中,OwinContext.Authentication 和 UserManager 被配置为 InstancePerRequest。
我尝试将 ThreadStaticSessionContext 更改为 CallSessionContext 并且它开始正常工作。那么问题来了:为什么会起作用(ThreadStaticSessionContext 更适合多线程应用)以及它会带来哪些负面影响?
谢谢!
【问题讨论】:
-
这是一个 Windows 或 Web 应用程序吗?
-
这是一个网络应用程序。
标签: caching nhibernate asp.net-identity autofac