我正在使用NHibernate
事件侦听器在数据库中生成事件日志,并且我正在使用HttpContext.CurrentUser
获取当前用户 ID 并将其写入数据库字段。
SessionFactory 实例是单例的,根据文档也是事件侦听器,所以我想知道是否有可能的情况,当当前用户已经更改时,该事件侦听器将调用 HttpContext.CurrentUser,这意味着在事件中将记录没有任何内容的用户做改变?
如果更改是从不同的线程产生的,是否有可能在事件处理时 HttpContext 不为空,并且再次将错误的用户写入事件表?