NHibernate mysql连接未关闭?
我将NHibernate用于mySQL 5,我有点不确定NHibernate是否真的关闭了与mySQL的连接 这是我用来将玩家实体保存到数据库的代码:NHibernate mysql连接未关闭?,mysql,nhibernate,Mysql,Nhibernate,我将NHibernate用于mySQL 5,我有点不确定NHibernate是否真的关闭了与mySQL的连接 这是我用来将玩家实体保存到数据库的代码: using (ISession session = SessionFactory.OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) {
using (ISession session = SessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
session.Save(player);
transaction.Commit();
}
}
运行完这段代码后,我使用
show status like 'Conn%' ;
并且该值每增加1次
因此,插入播放机10次(=启动程序10次)会将连接计数增加10。但是NHibernate会话的session.IsClosed属性为false
为了释放NHibernate资源并关闭连接,我还需要做其他事情吗?连接是否共用/超时
如果有人能给我一个提示就太好了 我很确定连接正在关闭。ISession上的dispose方法就是这样做的。因此,退出使用块时不太可能保持打开状态 另外,据我所知,连接通常仅在写入/读取数据库时打开。会话可能已打开,但这并不意味着连接也已打开 加上事实上,在中,它说关键字Connections意味着: 到MySQL服务器的连接尝试次数(成功与否)。 并且没有说明连接的当前状态(打开或不打开),这让我相信连接已关闭
PS:您应该使用线程\u connected来查看打开的连接。某些版本中的MySQL.Data dll中存在一个错误,导致我出现同样的问题。确保将连接器/网络更新为最新版本。这为我解决了问题