Mysql 如何关闭NHibernate连接?

Mysql 如何关闭NHibernate连接?,mysql,asp.net-mvc,database,nhibernate,Mysql,Asp.net Mvc,Database,Nhibernate,我用ASP.NETMVC、NHibernate和MySQL做了一个网站。 在我的项目中,我有一些存储库类,每个类都有使用如下代码的方法: using(ISession session = NHibernateHelper.OpenSession()) { using(ITransaction transaction = session.BeginTransaction()) { session.Save(cidade); transaction.Commi

我用ASP.NETMVC、NHibernate和MySQL做了一个网站。 在我的项目中,我有一些存储库类,每个类都有使用如下代码的方法:

using(ISession session = NHibernateHelper.OpenSession()) {
    using(ITransaction transaction = session.BeginTransaction()) {
        session.Save(cidade);
        transaction.Commit();
    }
}
我来自经典的ASP,所以我通常认为与MySQL的连接实际上是关闭的。事实上,如果有一个像经典ASP上那样的连接,我通常会这样做

我应该做些什么来显式关闭连接/会话还是“自动关闭”

如果我的服务器上有很多打开的连接,有什么方法可以做到


非常感谢。

会话以非常有效的方式进行连接管理,因此您不必手动执行任何操作,只要您没有忘记处理会话(就像您所做的那样)。该连接在会话的整个生命周期内都不会打开,但只有在需要时才会打开。打开的数据库连接数不会超过connectionpool中的连接数,默认情况下为100。在几乎所有的场景中,100个连接不会太多,所以当打开了很多连接时,您不需要做任何事情。在一个非常繁忙的网站上,你甚至不会使用所有的100个连接,因为webrequests的线程池的大小,可能会有20-40个开放连接