Por que carga tan lento crystal report

01/06/2006 - 09:05 por kiko | Informe spam
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual sea el
informe que intente ver, este tarda mucho en cargarse. Sin embargo, una vez
visto uno, la carga de cualquiera de ellos es mucho mas rápida. Supongo que
lo que ocurre es que al ver el primer informe, se cargarán en memoria alguna
libreria de crystalreport, y para los sucesivos ya están cargadas. Mi
pregunta es si se pueden "cargar" en el inicio de la aplicación todas las
librerias que crystalreport necesite.

Gracias y saludos a todos.

Kiko.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
01/06/2006 - 10:38 | Informe spam
Kiko,

Efectivamente, la carga de ensamblados en .NET es dinámica, y las librerías
de Crystal se cargan cuando la aplicación necesita utilizarlas por primera
vez.
Puedes provocar explícitamte la carga de un ensamblado usando el método
Assembly.Load. Eso hará que el arranque de la aplicación demore más (puedes
poner una "splash screen" para entretener al usuario :-) pero luego todo irá
más rápido cuando el usuario visualice un informe.

Salu2 - Octavio



"kiko" escribió en el mensaje
news:%
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual sea el
informe que intente ver, este tarda mucho en cargarse. Sin embargo, una
vez visto uno, la carga de cualquiera de ellos es mucho mas rápida.
Supongo que lo que ocurre es que al ver el primer informe, se cargarán en
memoria alguna libreria de crystalreport, y para los sucesivos ya están
cargadas. Mi pregunta es si se pueden "cargar" en el inicio de la
aplicación todas las librerias que crystalreport necesite.

Gracias y saludos a todos.

Kiko.

Respuesta Responder a este mensaje
#2 kiko
01/06/2006 - 12:22 | Informe spam
Gracias por tu comentario Octavio. ¿sabrías decirme que librería cargar para
el caso de Crystalreport".

Un saludo,

Kiko.

"Octavio Hernandez" escribió en el mensaje
news:
Kiko,

Efectivamente, la carga de ensamblados en .NET es dinámica, y las
librerías de Crystal se cargan cuando la aplicación necesita utilizarlas
por primera vez.
Puedes provocar explícitamte la carga de un ensamblado usando el método
Assembly.Load. Eso hará que el arranque de la aplicación demore más
(puedes poner una "splash screen" para entretener al usuario :-) pero
luego todo irá más rápido cuando el usuario visualice un informe.

Salu2 - Octavio



"kiko" escribió en el mensaje
news:%
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual sea
el informe que intente ver, este tarda mucho en cargarse. Sin embargo,
una vez visto uno, la carga de cualquiera de ellos es mucho mas rápida.
Supongo que lo que ocurre es que al ver el primer informe, se cargarán en
memoria alguna libreria de crystalreport, y para los sucesivos ya están
cargadas. Mi pregunta es si se pueden "cargar" en el inicio de la
aplicación todas las librerias que crystalreport necesite.

Gracias y saludos a todos.

Kiko.





Respuesta Responder a este mensaje
#3 Octavio Hernandez
01/06/2006 - 13:02 | Informe spam
kiko,

Son unas cuantas dlls (todas se llaman Crystal.XXXXXX.dll, mira en el nodo
'Referencias' del proyecto que tienes ahora.

Slds - Octavio


"kiko" escribió en el mensaje
news:
Gracias por tu comentario Octavio. ¿sabrías decirme que librería cargar
para el caso de Crystalreport".

Un saludo,

Kiko.

"Octavio Hernandez" escribió en el mensaje
news:
Kiko,

Efectivamente, la carga de ensamblados en .NET es dinámica, y las
librerías de Crystal se cargan cuando la aplicación necesita utilizarlas
por primera vez.
Puedes provocar explícitamte la carga de un ensamblado usando el método
Assembly.Load. Eso hará que el arranque de la aplicación demore más
(puedes poner una "splash screen" para entretener al usuario :-) pero
luego todo irá más rápido cuando el usuario visualice un informe.

Salu2 - Octavio



"kiko" escribió en el mensaje
news:%
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual sea
el informe que intente ver, este tarda mucho en cargarse. Sin embargo,
una vez visto uno, la carga de cualquiera de ellos es mucho mas rápida.
Supongo que lo que ocurre es que al ver el primer informe, se cargarán
en memoria alguna libreria de crystalreport, y para los sucesivos ya
están cargadas. Mi pregunta es si se pueden "cargar" en el inicio de la
aplicación todas las librerias que crystalreport necesite.

Gracias y saludos a todos.

Kiko.









Respuesta Responder a este mensaje
#4 kiko
01/06/2006 - 14:02 | Informe spam
Gracias de nuevo. Así lo haré.

Saludos,

Kiko
"Octavio Hernandez" escribió en el mensaje
news:%
kiko,

Son unas cuantas dlls (todas se llaman Crystal.XXXXXX.dll, mira en el nodo
'Referencias' del proyecto que tienes ahora.

Slds - Octavio


"kiko" escribió en el mensaje
news:
Gracias por tu comentario Octavio. ¿sabrías decirme que librería cargar
para el caso de Crystalreport".

Un saludo,

Kiko.

"Octavio Hernandez" escribió en el
mensaje news:
Kiko,

Efectivamente, la carga de ensamblados en .NET es dinámica, y las
librerías de Crystal se cargan cuando la aplicación necesita utilizarlas
por primera vez.
Puedes provocar explícitamte la carga de un ensamblado usando el método
Assembly.Load. Eso hará que el arranque de la aplicación demore más
(puedes poner una "splash screen" para entretener al usuario :-) pero
luego todo irá más rápido cuando el usuario visualice un informe.

Salu2 - Octavio



"kiko" escribió en el mensaje
news:%
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual sea
el informe que intente ver, este tarda mucho en cargarse. Sin embargo,
una vez visto uno, la carga de cualquiera de ellos es mucho mas rápida.
Supongo que lo que ocurre es que al ver el primer informe, se cargarán
en memoria alguna libreria de crystalreport, y para los sucesivos ya
están cargadas. Mi pregunta es si se pueden "cargar" en el inicio de la
aplicación todas las librerias que crystalreport necesite.

Gracias y saludos a todos.

Kiko.













Respuesta Responder a este mensaje
#5 Marcelo Guy
05/07/2006 - 15:16 | Informe spam
Buen día, la verdad me interesó la carga explícita que comenta Octavio y
para ello agregué las siguientes líneas al Program.cs:

Assembly _Assembly6 = Assembly.Load("NHibernate");

Assembly _Assembly7 = Assembly.Load("log4net");

Assembly _Assembly8 = Assembly.Load("Iesi.Collections");

Assembly _Assembly9 = Assembly.Load("HashCodeProvider");

Assembly _Assembly10 = Assembly.Load("Castle.DynamicProxy");

Assembly _Assembly11 =
Assembly.Load("CrystalDecisions.CrystalReports.Engine");

Assembly _Assembly12 =
Assembly.Load("CrystalDecisions.Enterprise.Framework");

Assembly _Assembly13 =
Assembly.Load("CrystalDecisions.Enterprise.InfoStore");

Assembly _Assembly14 = Assembly.Load("CrystalDecisions.ReportSource");

Assembly _Assembly15 = Assembly.Load("CrystalDecisions.Shared");



La verdad, no noté mejora de performance, me parece que algo hice mal.

Me darían una mano, desde ya gracias.

Marcelo


"kiko" escribió en el mensaje
news:%
Gracias de nuevo. Así lo haré.

Saludos,

Kiko
"Octavio Hernandez" escribió en el mensaje
news:%
kiko,

Son unas cuantas dlls (todas se llaman Crystal.XXXXXX.dll, mira en el
nodo 'Referencias' del proyecto que tienes ahora.

Slds - Octavio


"kiko" escribió en el mensaje
news:
Gracias por tu comentario Octavio. ¿sabrías decirme que librería cargar
para el caso de Crystalreport".

Un saludo,

Kiko.

"Octavio Hernandez" escribió en el
mensaje news:
Kiko,

Efectivamente, la carga de ensamblados en .NET es dinámica, y las
librerías de Crystal se cargan cuando la aplicación necesita
utilizarlas por primera vez.
Puedes provocar explícitamte la carga de un ensamblado usando el método
Assembly.Load. Eso hará que el arranque de la aplicación demore más
(puedes poner una "splash screen" para entretener al usuario :-) pero
luego todo irá más rápido cuando el usuario visualice un informe.

Salu2 - Octavio



"kiko" escribió en el mensaje
news:%
Hola. Tengo una aplicación en la cual tengo hechos varios informes con
crystalreport. La cosa es que cuando inicio la aplicación, sea cual
sea el informe que intente ver, este tarda mucho en cargarse. Sin
embargo, una vez visto uno, la carga de cualquiera de ellos es mucho
mas rápida. Supongo que lo que ocurre es que al ver el primer informe,
se cargarán en memoria alguna libreria de crystalreport, y para los
sucesivos ya están cargadas. Mi pregunta es si se pueden "cargar" en
el inicio de la aplicación todas las librerias que crystalreport
necesite.

Gracias y saludos a todos.

Kiko.

















email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida