/// <summary>
 /// Rolls back an uncommitted transaction when the object is disposed.
 /// </summary>
 public void Dispose()
 {
     if (Hibernator.HasOpenSession(SessionFactoryName))
     {
         if ((!Transaction.WasCommitted) && (!Transaction.WasRolledBack))
         {
             Hibernator.RollbackTransaction(SessionFactoryName);
         }
     }
 }
 /// <summary>
 /// Commit the transaction.
 /// </summary>
 /// <remarks>
 /// If an exception is thrown during transaction commit, a rollback is
 /// automatically attempted before the exception bubbles up further.
 /// </remarks>
 public void Commit()
 {
     try
     {
         Hibernator.CommitTransaction(SessionFactoryName);
     }
     catch (Exception ex)
     {
         Hibernator.RollbackTransaction(SessionFactoryName);
         throw new HibernationException("An exception occurred while attempting to commit the transaction.  Transaction has been rolled back.", ex);
     }
 }
 private void EndRequestHandler(object sender, EventArgs e)
 {
     Hibernator.CloseAllSessions();
 }
 private void BeginRequestHandler(object sender, EventArgs e)
 {
     Hibernator.SetSessionMode(SessionStartMode.HttpRequest);
 }
 /// <summary>
 /// Set our request handlers and inform Hibernator that we're running a
 /// web app.
 /// </summary>
 /// <param name="context"></param>
 public void Init(HttpApplication context)
 {
     context.BeginRequest += BeginRequestHandler;
     context.EndRequest   += EndRequestHandler;
     Hibernator.SetHttpModuleDefined(true);
 }
Ejemplo n.º 6
0
 public static void RestartSession(string sessionFactoryName)
 {
     Hibernator.RestartSession(sessionFactoryName);
 }
Ejemplo n.º 7
0
 public static void CloseSession(string sessionFactoryName)
 {
     Hibernator.CloseSession(sessionFactoryName);
 }
Ejemplo n.º 8
0
 public static void OpenSession(string sessionFactoryName)
 {
     Hibernator.OpenSession(sessionFactoryName);
 }
Ejemplo n.º 9
0
 public static bool SessionExist(string sessionFactoryName)
 {
     return(Hibernator.HasOpenSession(sessionFactoryName));
 }
Ejemplo n.º 10
0
 public static IStatelessSession GetStatelessSession(string sessionFactoryName)
 {
     return(Hibernator.GetStatelessSession(sessionFactoryName));
 }
Ejemplo n.º 11
0
 public static SqlConnection GetConnection(string sessionFactoryName)
 {
     return((SqlConnection)Hibernator.GetConnection(sessionFactoryName));
 }
Ejemplo n.º 12
0
 public static string GetFactoryName(string alias)
 {
     return(Hibernator.GetFactoryName(alias));
 }
 /// <summary>
 /// Roll back the transaction.
 /// </summary>
 public void Rollback()
 {
     Hibernator.RollbackTransaction(SessionFactoryName);
 }
 /// <summary>
 /// Begins a new transaction on the named Hibernator session factory,
 /// using the requested isolation level.
 /// </summary>
 /// <param name="factoryName"></param>
 /// <param name="isolationLevel"></param>
 public HibernationTransaction(string factoryName, IsolationLevel?isolationLevel)
 {
     this.SessionFactoryName = factoryName;
     this.Session            = Hibernator.GetSession(factoryName);
     this.Transaction        = Hibernator.BeginTransaction(factoryName, isolationLevel);
 }