如果发生死锁,我希望能够重新运行事务。在Ayende 的博客文章中,他提到您需要丢弃整个 NHibernate 会话并重新开始。
在 Windows 应用程序中重新启动会话相对简单,但是当使用 Session-Per-Request 模块时,您将如何在 Web 应用程序中执行此操作?会话在 IHttpModule 中打开和关闭。我能想到的唯一方法是以某种方式重新发布http帖子。这会很麻烦,并且最终可能会重新执行已经成功提交的其他事务(因为我们每个会话有多个事务)。
如果发生死锁,我希望能够重新运行事务。在Ayende 的博客文章中,他提到您需要丢弃整个 NHibernate 会话并重新开始。
在 Windows 应用程序中重新启动会话相对简单,但是当使用 Session-Per-Request 模块时,您将如何在 Web 应用程序中执行此操作?会话在 IHttpModule 中打开和关闭。我能想到的唯一方法是以某种方式重新发布http帖子。这会很麻烦,并且最终可能会重新执行已经成功提交的其他事务(因为我们每个会话有多个事务)。