Si, y además hay que pensarlo y medirlo si es posible con la carga de
uso que vaya a tener... porque guardar indiscriminadamente objetos en
la session de asp.net (lo que evita que el GC libere memoria) con
muchos usuarios... quizás el lazyloading... es como una bomba de
tiempo.

Otra posibilidad es que no sea algo tan masivo (como podría ser un
treeview), sino mas bien algo de tipo wizard, de todas formas prefiero
evitar guardar objetos de dominio en la sessión de asp.net así como
andar reatachando objetos a las sessions de nhibernate, me suena a
parche que tarde o temprano termina explotando (mas bien tarde).

saludos.
nelo

2012/9/19 Carlos Peix <[email protected]>:
> Hola Nelo,
>
> Si, pero es posible que necesite el objeto muchas veces (muchos gets) y solo
> un merge al final del proceso. Por eso fui cauto.
>
> Aun asi, para mi es imprescindible justificar con mediciones toda
> optimizacion de performace, sobre todo una de este tipo.
>
> ----------------------------------
> Carlos Peix
>
> 2012/9/19 [email protected] <[email protected]>
>
>> Carlos, siempre oportunas tus preguntas.
>>
>> Esperemos las mediciones de Jose, pero hasta donde yo recuerdo el
>> Merge vuelve a levantar el objeto de la base de datos e intenta
>> combinar los valores de las propiedades, acción que es necesaria si
>> uno modifica los objetos que están desconectados.
>>
>> Si es por motivos de solo lectura (como para armar un árbol), no tiene
>> sentido el Merge y quizás tampoco quedarse con todo el objeto de
>> dominio en session. En este caso creo que sería mejor armar un
>> servicio que tenga una cache para que cuando no lo encuentre se lo
>> pida a nh y guardar DTOs con la información que necesitamos del
>> objeto, una implementación de es cache sería en session de asp.net.
>>
>> saludos.
>> nelo
>>
>> 2012/9/19 Carlos Peix <[email protected]>:
>> > Hola Jose,
>> >
>> > Mencionas razones de performance que te llevan a guardar el objeto en
>> > variable de sesion el lugar del Id. Que tipo de problemas tienes al
>> > recuperar un objeto por Id? has hecho mediciones comparando esa
>> > operacion
>> > con el merge? que tipo de cifras te dan esas mediciones?
>> >
>> > Pregunto esto porque me extraña que tengas estos problemas, pero
>> > reconozco
>> > que no se los detalles de tu caso.
>> >
>> > ----------------------------------
>> > Carlos Peix
>> >
>> > 2012/9/18 José Juniors Rocaspana <[email protected]>
>> >>
>> >> Buen día a todos, estamos teniendo problemas al intentar recuperar un
>> >> set
>> >> de 3er orden en lazy load luego de haber quitado y vuelto a agregar la
>> >> sesión de NH del objeto padre.
>> >> Ejemplifico para mejor comprensión:
>> >> - Objecto A y Objecto B son entidades de nuestra DB.
>> >> - Objecto A tiene una many-to-one a Objecto B.
>> >> - Objecto B tiene un set de Objectos C en lazy.
>> >>
>> >> Por cuestiones de performance estamos guardando a Objecto A en una
>> >> variable de sesión web, y al momento de reutilizarla la volvemos a
>> >> meter en
>> >> la sesión de NH actual mediante Merge(). Luego del Merge(), podemos
>> >> acceder
>> >> a todas las propiedades de Objeto A y B pero no a los sets mapeados en
>> >> B. Es
>> >> muy raro porque sin hacer el Merge() el código explota ni bien queremos
>> >> acceder a cualquier propiedad de la entidad siendo no necesariamente
>> >> una
>> >> colección.
>> >>
>> >> Si en lugar de hacer un Merge() hago un Get() del objeto A (lo vuelvo a
>> >> buscar a la BD), todo funciona de 1000 maravillas.. Alguien puede
>> >> decirme
>> >> dónde le estamos errando? O arrojar un poco de luz sobre mi camino?
>> >>
>> >> Muchas gracias por leer! Saludos!
>> >>
>> >> --
>> >> 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

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