C# Class Editor.Utils.NHibernateSessionManager

Handles creation and management of sessions and transactions. It is a singleton because building the initial session factory is very expensive. Inspiration for this class came from Chapter 8 of Hibernate in Action by Bauer and King. Although it is a sealed singleton you can use TypeMock (http://www.typemock.com) for more flexible testing.
Afficher le fichier Open project: RIATEAM/MYSTIC

Private Properties

Свойство Type Description
GetSessionFactoryFor ISessionFactory
GetSessionFrom ISession
IsInWebContext bool
NHibernateSessionManager System

Méthodes publiques

Méthode Description
BeginTransactionOn ( string sessionFactoryConfigPath ) : ITransaction
CloseSessionOn ( string sessionFactoryConfigPath ) : void

Flushes anything left in the session and closes the connection.

CommitTransactionOn ( string sessionFactoryConfigPath ) : void
GetSessionFrom ( string sessionFactoryConfigPath ) : ISession
HasOpenTransactionOn ( string sessionFactoryConfigPath ) : bool
RegisterInterceptorOn ( string sessionFactoryConfigPath, IInterceptor interceptor ) : void

Allows you to register an interceptor on a new session. This may not be called if there is already an open session attached to the HttpContext. If you have an interceptor to be used, modify the HttpModule to call this before calling BeginTransaction().

RollbackTransactionOn ( string sessionFactoryConfigPath ) : void

Private Methods

Méthode Description
GetSessionFactoryFor ( string sessionFactoryConfigPath ) : ISessionFactory

This method attempts to find a session factory stored in sessionFactories via its name; if it can't be found it creates a new one and adds it the hashtable.

GetSessionFrom ( string sessionFactoryConfigPath, IInterceptor interceptor ) : ISession

Gets a session with or without an interceptor. This method is not called directly; instead, it gets invoked from other public methods.

IsInWebContext ( ) : bool
NHibernateSessionManager ( ) : System

Private constructor to enforce singleton

Method Details

BeginTransactionOn() public méthode

public BeginTransactionOn ( string sessionFactoryConfigPath ) : ITransaction
sessionFactoryConfigPath string
Résultat ITransaction

CloseSessionOn() public méthode

Flushes anything left in the session and closes the connection.
public CloseSessionOn ( string sessionFactoryConfigPath ) : void
sessionFactoryConfigPath string
Résultat void

CommitTransactionOn() public méthode

public CommitTransactionOn ( string sessionFactoryConfigPath ) : void
sessionFactoryConfigPath string
Résultat void

GetSessionFrom() public méthode

public GetSessionFrom ( string sessionFactoryConfigPath ) : ISession
sessionFactoryConfigPath string
Résultat ISession

HasOpenTransactionOn() public méthode

public HasOpenTransactionOn ( string sessionFactoryConfigPath ) : bool
sessionFactoryConfigPath string
Résultat bool

RegisterInterceptorOn() public méthode

Allows you to register an interceptor on a new session. This may not be called if there is already an open session attached to the HttpContext. If you have an interceptor to be used, modify the HttpModule to call this before calling BeginTransaction().
public RegisterInterceptorOn ( string sessionFactoryConfigPath, IInterceptor interceptor ) : void
sessionFactoryConfigPath string
interceptor IInterceptor
Résultat void

RollbackTransactionOn() public méthode

public RollbackTransactionOn ( string sessionFactoryConfigPath ) : void
sessionFactoryConfigPath string
Résultat void