【问题标题】:How to see all open nhibernate sessions in the application如何查看应用程序中所有打开的休眠会话
【发布时间】:2010-09-16 15:20:03
【问题描述】:

有没有办法查看应用程序中所有打开的休眠会话?

为什么? 因为,我在我的 MVC 应用程序中遇到了这个错误: 超时已过。在从池中获取连接之前超时时间已过。这可能是因为所有池连接都在使用中并且已达到最大池大小。

我已经完成了这个配置: http://www.kevinwilliampang.com/2010/04/06/setting-up-asp-net-mvc-with-fluent-nhibernate-and-structuremap/

请帮忙。

【问题讨论】:

标签: nhibernate model-view-controller session


【解决方案1】:

我认为最简单的方法是将NHProf 连接到您的应用程序。它将通过其 UI 报告所有打开的会话。

请参阅screenshots page,了解会话在此工具中的显示方式。

【讨论】:

  • 但是当会话关闭(处置)时,它仍保留在 NHProf 中。而且我不知道哪个会话仍然打开或关闭。
  • 我相信你看到的只是会话历史列表。您可以查看“会话工厂统计信息”(在 UI 中的会话选项卡下方)以检查您是否正确调用了会话工厂。
  • 好的,我得到的问题是,如何知道应用程序打开的所有会话是否已关闭。因为与数据库的连接没有关闭,处于睡眠模式。
【解决方案2】:

您可以在 nfprof 的会话部分查看打开的会话。已关闭的会话会显示持续时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 2014-07-26
    • 1970-01-01
    相关资源
    最近更新 更多