Gracias Gustavo Pecando nuevamente de novato, como logro por un lado regresar a la vista mi objeto invalido (para que pueda ser visualizado con sus errores) y como logro que este objeto ivalido no sea persistido.
A lo mejor estan sencillo y yo lo complico demasiado Saludos Edgar El día 19 de julio de 2010 12:58, Gustavo Ringel <[email protected]> escribió: > 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 -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
