Identificación del estado de ejecución

El Protocolo de transferencia de hipertexto (HTTP) es un protocolo sin conexión y sin estado. Ser sin conexión y sin estado significa que no indica automáticamente si diferentes solicitudes proceden del mismo cliente o incluso si una única instancia del explorador sigue viendo activamente una página o un sitio. Las sesiones crean una conexión lógica para mantener el estado entre el servidor y el cliente sobre HTTP. La información específica del usuario pertinente para una sesión determinada se conoce como estado de sesión.

La administración de la sesión implica poner en correlación una solicitud HTTP con otras solicitudes anteriores generadas en la misma sesión. Sin la administración de sesiones, estas solicitudes parecen no estar relacionadas con el servicio web del servidor de informes debido a la naturaleza sin conexión y sin estado del protocolo HTTP.

Reporting Services no expone un concepto holístico de estado de sesión como el expuesto por ASP.NET. Sin embargo, al ejecutar los informes, el servidor de informes mantiene el estado entre las llamadas al método en forma de una ejecución. Una ejecución permite al usuario interactuar con el informe de varias maneras, por ejemplo al cargar el informe del servidor de informes, establecer las credenciales y los parámetros para el informe, y representar el informe.

Mientras se comunican con un servidor de informes, los clientes usan la ejecución para administrar la visualización de informes y la navegación del usuario a otras páginas de un informe y mostrar u ocultar secciones de un informe. Existe solo una ejecución para cada informe que la aplicación cliente ejecuta.

En general, la duración de una ejecución se inicia cuando un usuario navega a un explorador o aplicación cliente y selecciona un informe para verlo. La ejecución se descarta después de un breve período de tiempo de espera después de recibir la última solicitud a la ejecución (el tiempo de espera predeterminado es de 20 minutos).

Desde la perspectiva del servicio web, la duración comienza cuando se llama a los métodos LoadReport, LoadReportDefinition o Render del servicio web del servidor de informes. La aplicación puede utilizar otros métodos para manipular la ejecución activa (por ejemplo, configurar los parámetros y establecer los orígenes de datos). La ejecución se descarta después de un breve período de tiempo de espera después de recibir la última solicitud a la ejecución (el tiempo de espera predeterminado es de 20 minutos).

Una aplicación realiza un seguimiento de varias ejecuciones activas entre las llamadas al servicio Render web y RenderStream los métodos guardando .ExecutionID El identificador de ejecución se devuelve en el encabezado SOAP de los LoadReport métodos y LoadReportDefinition .

El diagrama siguiente muestra el procesamiento y la representación de la ruta de acceso para los informes.

Diagram that shows the processing and rendering path for reports.

Para admitir las funciones descritas anteriormente, el método soap Render actual se divide en varios métodos que abarcan las fases de inicialización, procesamiento y representación de la ejecución.

Para representar mediante programación un informe, debe:

Aunque un informe esté en sesión, el informe subyacente almacenado en la base de datos del servidor de informes puede cambiar. Por ejemplo, la definición de informe puede cambiar, el informe se puede eliminar o mover, y los permisos de usuario pueden cambiar. Si el informe está en una sesión activa, los cambios realizados en el informe subyacente (es decir, el informe almacenado en la base de datos del servidor de informes) no lo afectan.

También puede administrar una sesión de informe mediante comandos de acceso URL.

Render
Referencia técnica (SSRS)
Uso de encabezados SOAP de Reporting Services