Esa implementacion del manejo de tu session es para la aplicacion Web Asp
Net MVC ?

saludos

El 10 de agosto de 2010 13:58, Maria Teresa Ruiz Espinosa <
[email protected]> escribió:

> No es singleton es static
>
> Continuamos teniendo problemas. Ven correcta la clase de session que les
> indique anteriormente?
>
> Cada vez que se hace una petición se hace un OpenSession
>
>
>
> El 10 de agosto de 2010 07:28, Gustavo Ringel 
> <[email protected]>escribió:
>
> Ok, tenes razon que eso podria llevar a que para cada accion alguien piense
>> que es bueno hacer apertura y cerrado de la session.
>>
>> El tema es usar la session por el periodo que dura el caso de uso /
>> business transaccion y no mas que eso.
>>
>> En este caso habla de MVC y por tanto en general es por todo el request.
>>
>> No usar la session como un singleton, ni abrirla y cerrarla por cada
>> accion con la base...
>>
>> Gustavo.
>>
>> 2010/8/10 Fabio Maulo <[email protected]>
>>
>> la session "lo mas corto" ?
>>> seguro no hay que tener una sola session para toda la app, pero "corto" ?
>>>
>>> 2010/8/9 Gustavo Ringel <[email protected]>
>>>
>>>> ISessionStorage, me suena a dinamita...
>>>> En la documentacion de NH dice que session tiene que ser lo mas corto
>>>> posible y apenas da una excepcion hay que tirarla
>>>> Ahi lo que parece es que crean una session al principio y van
>>>> devolviendo la misma session, no se cual es el life cycle, pero
>>>> bueno...fijense bien si estan siguiendo los principios de manejo de 
>>>> session.
>>>>
>>>> Gustavo.
>>>>
>>>> 2010/8/9 NM <[email protected]>
>>>>
>>>>> Este es nuestro método mediante el cual obtenemos  session
>>>>>
>>>>>
>>>>> public static ISession Session(string database)
>>>>>        {
>>>>>            if (SessionStorage == null)
>>>>>            {
>>>>>                throw new Exception("NHibernateSession no está
>>>>> inicializado. Llama a Init antes de operar con él. Comprueba también
>>>>> que haya un ISessionStorage asociado a NHibernate.");
>>>>>            }
>>>>>
>>>>>            ISession session = SessionStorage.Session(database);
>>>>>            if (session == null)
>>>>>            {
>>>>>                session = _sessionFactory[database].OpenSession();
>>>>>                SessionStorage.SetSession(database, session);
>>>>>            }
>>>>>
>>>>>            return session;
>>>>>        }
>>>>>
>>>>> Esta es la forma en que lo empleamos
>>>>>
>>>>>            var session =
>>>>> NHibernateSession.Session(NHibernateSession.BBDD);
>>>>>            using (var transaction = session.BeginTransaction())
>>>>>            {
>>>>>                var listaMensaje = session
>>>>>                    .CreateQuery(@"
>>>>>                        from
>>>>>                            NhOfiMensajeria M
>>>>>                        where
>>>>>                            M.Referencia like 'FD:%'
>>>>>                            And M.AUsuario=:valorUsuarioMensajeria
>>>>> ")
>>>>>                    .SetParameter("valorUsuarioMensajeria",
>>>>> valorUsuarioMensajeria)
>>>>>                    .List<NhOfiMensajeria>();
>>>>>
>>>>>                transaction.Commit();
>>>>>             }
>>>>>
>>>>> On 9 ago, 16:40, Gustavo Ringel <[email protected]> wrote:
>>>>> > Si tu flush mode no es en commit el commit no hace flush de todo lo
>>>>> que
>>>>> > escribiste.
>>>>> > Adicionalmente suena a que tenes lo que llama un Time Bomb session
>>>>> > management, o sea suena a que abris una sola session.
>>>>> > Si abris sessions de NHibernate en cada request no tendrias que tener
>>>>> ningun
>>>>> > problema de leer los datos que se escriben en la otra base.
>>>>> > Claro que si por ejemplo cacheas, o le decis a NH que los datos no
>>>>> son
>>>>> > mutables, podes tener distintos tipos de desincronizacion.
>>>>> >
>>>>> > Gustavo.
>>>>> >
>>>>> > 2010/8/9 Maria Teresa Ruiz Espinosa <[email protected]>
>>>>> >
>>>>> >
>>>>> >
>>>>> > > Nuestro funcionamiento normal es hacer un beginTransaction y al
>>>>> finalizar
>>>>> > > la consulta un commit de la transacción.
>>>>> >
>>>>> > > No tenemos definido ningún FlushMode en especifico.
>>>>> >
>>>>> > >  --
>>>>> > > 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
>>>>
>>>
>>>
>>>
>>> --
>>> Fabio Maulo
>>>
>>>  --
>>> 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
>

-- 
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