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

Responder a