¿Cuál es el enfoque de persistencia que se debe utilizar con Crystal Reports?
Al planear la creación de una aplicación Web con el SDK de Crystal Reports, una de las consideraciones más importantes es el enfoque de persistencia con el que trabajar. Conocer los aspectos fundamentales del SDK que afectan a la persistencia le ayudará a elegir la estructura más adecuada para el proyecto de Crystal Reports para Visual Studio.
¿Qué es la persistencia?
Las páginas Web no conservan el estado (el estado y la información de un usuario que se conecta a un sitio Web). Las páginas Web se solicitan desde un servidor, se envían al usuario y el proceso finaliza. Este proceso es correcto al leer información, el problema surge cuando se diseña una aplicación Web que debe conservar información sobre un usuario durante recargas y redireccionamientos de páginas.
La persistencia hace referencia al uso de un mecanismo que preserva el estado de todos los usuarios (como la página del informe actual que ve cada uno de ellos) sin las trabas de las recargas y los redireccionamientos de páginas.
Métodos prácticos de persistencia
En esta sección, va a explorar métodos prácticos para conservar los cambios realizados en un informe de Crystal de una página Web mientras se actualiza el informe durante la recarga de una página Web. El cambio que se debe conservar puede ser tan sencillo como pasar a la segunda página después de haber hecho clic en el botón Página siguiente del visor del informe, o tan complejo como presentar datos totalmente distintos después de haber modificado los parámetros del informe.
En Crystal Reports para Visual Studio, la persistencia se debe aplicar a los siguientes elementos:
- El control CrystalReportViewer.
- El informe que está enlazado al control CrystalReportViewer.
Formas de conservar el estado en ASP y ASP.NET
En ASP y ASP.NET tradicionales, el estado se mantiene mediante el explorador Web o el servidor Web, de las siguientes formas.
Entorno
|
Cliente o servidor
|
Nombre
|
Método
|
---|---|---|---|
ASP*
|
Explorador del cliente
|
Campos del formulario
|
Pasar los pares de nombre y valor por las páginas Web mediante los campos de entrega de formularios.
|
ASP*
|
Explorador del cliente
|
Argumentos de dirección URL
|
Pasar los pares de nombre y valor por las páginas Web mediante argumentos de dirección URL.
|
ASP*
|
Explorador del cliente
|
Cookie
|
Asignar pares de nombre y valor a una cookie en el explorador del cliente y, a continuación, recuperar la cookie en una nueva página.
|
ASP*
|
Servidor Web
|
Objeto Session
|
Asignar objetos de los que se han creado instancias al objeto Session en el servidor y después recuperar desde Session en una nueva página.
|
ASP*
|
Servidor Web
|
Objeto Application
|
Asignar objetos de los que se han creado instancias al objeto Application en el servidor y después recuperar desde Application en una nueva página.
|
ASP.NET
|
Explorador del cliente
|
Objeto ViewState
|
Asignar valores de cadena al objeto ViewState del formulario Web Form de ASP.NET.
|
ASP.NET
|
Servidor Web
|
Objeto Cache
|
Igual que el objeto Application, pero con funciones mejoradas.
|
* Todos los enfoques de persistencia de ASP también funcionan en ASP.NET.
Enfoque de persistencia que funciona mejor con Crystal Reports
Los enfoques de persistencia más adecuados para utilizar con Crystal Reports son ViewState, Session o Cache.