C# 处理与数据库的连接
现在我已经做到了:C# 处理与数据库的连接,c#,fluent-nhibernate,C#,Fluent Nhibernate,现在我已经做到了: /// <summary> /// Disposing connection to database. /// </summary> public void Dispose() { if (_sessionFactory != null) _sessionFactory.Dispose(); if(_session != null) _session.Dispose(); _sessionFactor
/// <summary>
/// Disposing connection to database.
/// </summary>
public void Dispose()
{
if (_sessionFactory != null)
_sessionFactory.Dispose();
if(_session != null)
_session.Dispose();
_sessionFactory = null;
_session = null;
}
//
///正在处理与数据库的连接。
///
公共空间处置()
{
if(_sessionFactory!=null)
_sessionFactory.Dispose();
if(_session!=null)
_session.Dispose();
_sessionFactory=null;
_会话=空;
}
若要处理与数据库的连接,这是否错误?我是否应该处理会话并将其设置为null,然后让sessionfactory处于“活动”状态?sessionfactory是一个非常昂贵的对象,需要创建,并且应该在应用程序生命周期中只创建一次 因此,如果您已使用完应用程序,或者您知道在应用程序的生命周期内不需要连接到数据库,则可以处置工厂。否则就让它重复使用 另一方面,会话是一个轻量级对象,可以由SessionFacotry轻松创建。长时间的生活会话可能导致内存泄漏