Asp.net “螺纹周围的安全性”;“网络”;CurrentSessionContext/ISessionFactory.GetCurrentSession
我看到一些代码在以下代码周围加了锁:Asp.net “螺纹周围的安全性”;“网络”;CurrentSessionContext/ISessionFactory.GetCurrentSession,asp.net,nhibernate,thread-safety,Asp.net,Nhibernate,Thread Safety,我看到一些代码在以下代码周围加了锁: if (!CurrentSessionContext.HasBind(sessionFactory)) { CurrentSessionContext.Bind(sessionFactory.OpenSession()); } ISession session = sessionFactory.GetCurrentSession(); sessionFactory是注入DI的单例,配置使用“web”(而不是“托管web”)上下文 假设此代码不需
if (!CurrentSessionContext.HasBind(sessionFactory))
{
CurrentSessionContext.Bind(sessionFactory.OpenSession());
}
ISession session = sessionFactory.GetCurrentSession();
sessionFactory
是注入DI的单例,配置使用“web”(而不是“托管web”)上下文
假设此代码不需要同步访问,对吗?没错
由于web上下文使用HttpContext.Items,所以没有需要手动管理的共享状态