我正在寻找拦截Session.SaveChanges()
的方法,以便我可以使用同一个会话实例执行一些额外的工作(在某些情况下,这很方便)。如何拦截RavenDb Session.SaveChanges()
编辑:有关重新使用会话的一点是,我有一个需要在同一事务运行更多的工作。
我已经知道(并利用)IDocumentStoreListener
- 但这个接口没有帮助,因为它没有给我访问当前会话。
我在RavenDb文档中找不到任何有关拦截SaveChanges调用并获取当前会话句柄的方法。有谁知道一种方式?
这是一个web应用程序?通常,对于MVC和Web API应用程序,您可以为每个OWIN上下文创建一个文档会话。 –
它需要在Web应用程序和webjobs(或任何其他上下文)中工作。我们已经不再使用每个请求一个会话,因为它带来了比解决问题更多的问题。 我现在有一个解决方案,但还没有时间去实施它。当我完成它时,会再次发布 –
我很好奇听到您对每个请求进行会话有什么问题。我已经为每个请求使用一个会话构建了许多Web应用程序(某些企业级应用程序),并且它工作得很好。 –