具有域上下文的nhibernate拦截器

时间:2010-03-03 18:34:43

标签: asp.net nhibernate interceptor auditing

是否有可能(以干净的方式)在hibernate 2.1中创建审计拦截器并将域上下文传递给它?

我想要实现的是设置一个日期时间(可以轻松搞笑 - 在快速谷歌之后找到装载文章),但设置一个对象,例如创建项目的用户,或者更改了我尚未找到任何涵盖此内容的实体。

由于我不知道应用程序请求/启动时的对象(我必须注册nhibernate拦截器),有没有人知道合适的解决方法?

提前致谢Mark H

1 个答案:

答案 0 :(得分:2)

您可以将用户存储在当前会话中(HttpContext.Session)或使用thread local数据。然后,侦听器可以访问它。如果您使用线程本地方法,则需要为每个请求设置if,例如使用HttpModule。不完美,但这就是我seen it done in java的方式(不完全一样,但是类似的方法)。