【问题标题】:Is there a way to clear the connection pool in NHibernate?有没有办法清除 NHibernate 中的连接池?
【发布时间】:2018-11-18 04:32:56
【问题描述】:

应用程序正在使用.NETNHibernate 连接MySql。 根据我对NHibernate 内部使用DbConnection 的不理解。使用DbConnection 时是否有清除连接池的方法。

我们知道ClearPool() 静态方法可用于System.Data.SqlClient.SqlConnectionReleaseObjectPool() 可用于 OleDbConnection

【问题讨论】:

    标签: mysql .net nhibernate dbconnection


    【解决方案1】:

    您可以从会话实例访问底层数据库连接。您可以尝试将其转换为您知道支持清除连接池功能的类型。

    【讨论】:

    • 我没有看到 ClearPool() 方法,即使在使用 SqlConnection 进行转换后也是如此。
    • 是因为它是static 方法吗?如果是这种情况,那么您不需要访问特定的连接实例,考虑到您正在尝试影响池,这是有道理的。但是,使用这种方法,您需要确定 NH 使用的是什么具体实现。
    • stackoverflow.com/questions/50341191/… 这是原来的问题。所以我们试图在故障转移期间重置连接池
    • 如果底层连接是MySqlConnection,那么可以使用ClearPool()方法:dev.mysql.com/doc/dev/connector-net/6.10/html/…
    • 考虑到您最初的问题,您是否考虑过复制实体框架的“弹性连接”之类的东西?也许像 Polly 这样的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    相关资源
    最近更新 更多