Edgar, si haces return adentro del catch, absorbiste el throw o sea que en tu vida vas a llegar a la excepcion de tu session manager, a menos que "tengas suerte" y return View(objeto) de una excepcion :).
Gustavo. 2010/7/19 Edgar Ramos <[email protected]> > En mi pequeño ejemplo de una aplicacion asp net mvc + nh 2.1, he > implementado IHttpModule, pero tengo una duda, > en mi controller tengo lo siguiente > > try { > //codigo que puede lanzar una exception > } > catch (Exception) { > return View(objeto); > } > > si por cualquier motivo entra al catch , el codigo abajo descrito > Application_EndRequest(), es suficiente para que haga un Rollback() ?, > este > sería automatico ?, o tengo que implementar algo adicional ? > > Por un lado el patron me dice por cada request una session, noto que > en mi ejemplo eso lo esta haciendo, pero por otro lado la parte ACID, > con el unit of work , no me esta funcionando, o la verdad ya estoy > confundido, si tengo que leer en español o en ingles, cualquier link, > pdf, lo que sea me es bienvenido > > private void Application_EndRequest(object sender, EventArgs e) { > > ISession session = CurrentSessionContext.Unbind( > ServiceLocator.Current.GetInstance<ISessionFactory>()); > > try { > > if (session.Transaction.IsActive) { > session.Transaction.Commit(); > } > > } > catch (Exception) { > if (session.Transaction.IsActive) { > session.Transaction.Rollback(); > } > > throw; > > } > finally { > session.Close(); > } > } > > > > Saludos > > Edgar > > PD: Me sugirieron hacer unos test, pero recien estoy entrando a ese mundo, > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
