【问题标题】:How to close NHibenrate session when using the ThreadPool?使用 ThreadPool 时如何关闭 NHibenrate 会话?
【发布时间】:2011-07-11 05:03:54
【问题描述】:

由于线程被 ThreadPool 反复重用,我不知道何时关闭每个线程的 NHibernate 会话以释放用完的资源。

我应该生成自己的线程(以确保它们是唯一的)还是使用 ThreadPool 有更好的方法来做到这一点?

【问题讨论】:

    标签: c# .net multithreading nhibernate thread-safety


    【解决方案1】:

    我看不到问题所在。您可能需要在问题中详细说明或添加一些代码。

    每个线程都有自己的方法。只需在方法的开头分配会话并在最后清理它。使用线程池线程时也是如此。

    不要忘记将所有线程代码包装在 try/catch 中,否则如果未处理异常,您的应用程序将崩溃。

    【讨论】:

      【解决方案2】:

      我会设置它,以便每个线程有一个会话。这可能是确保您不会遇到线程终止另一个线程正在使用的会话的问题的最简单方法。

      【讨论】:

        猜你喜欢
        • 2012-12-05
        • 2014-01-16
        • 2019-08-11
        • 2017-05-06
        • 2010-12-18
        • 2013-09-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多