Определение состояния выполнения

Протокол передачи гипертекстов (HTTP) — это протокол без подключения и без отслеживания состояния. Без подключения и без отслеживания состояния означает, что он не указывает, приходят ли разные запросы от одного клиента или даже если один экземпляр браузера по-прежнему активно просматривает страницу или сайт. Сеансы создают логическое соединение, чтобы сохранять состояние между сервером и клиентом по протоколу HTTP. Сведения конкретного пользователя, относящиеся к определенному сеансу, называются «состоянием сеанса».

В задачи управления сеансом входит сопоставление HTTP-запроса с предыдущими запросами, созданными в том же сеансе. Без управления сеансом такие запросы оказываются не связанными с веб-службой сервера отчетов, поскольку протокол HTTP по своей природе является протоколом без установления соединения и без сохранения состояния.

Службы Reporting Services не предоставляют целостную концепцию состояния сеанса, например доступную ASP.NET. Однако во время выполнения отчетов сервер отчетов сохраняет состояние между вызовами методов в форме объекта выполнения. Объект выполнения позволяет пользователю взаимодействовать с отчетом несколькими способами, включая загрузку отчета с сервера отчетов, задание для отчета учетных данных и параметров и подготовку отчета к просмотру.

Хотя они взаимодействуют с сервером отчетов, клиенты используют выполнение для управления просмотром отчетов и навигацией пользователей на другие страницы отчета, а также для отображения или скрытия разделов отчета. Для каждого отчета во время работы приложения существует уникальный объект выполнения.

Обычно время существования объекта выполнения отсчитывается от момента, когда пользователь переходит в браузер или клиентское приложение и выбирает отчет для просмотра. Выполнение отключено карта через короткий период времени ожидания после получения последнего запроса к выполнению (время ожидания по умолчанию — 20 минут).

С точки зрения веб-службы время существования отсчитывается от момента, когда вызываются методы LoadReport, LoadReportDefinition или Render веб-службы сервера отчетов. Приложение может использовать другие методы для управления активным объектом выполнения (например, для задания параметров и источников данных). Выполнение отключено карта через короткий период времени ожидания после получения последнего запроса к выполнению (время ожидания по умолчанию — 20 минут).

Приложение отслеживает несколько активных выполнений между вызовами веб-службы Render и RenderStream методами путем сохранения ExecutionID. Идентификатор выполнения возвращается в заголовке SOAP из LoadReport и LoadReportDefinition методов.

На следующей диаграмме показаны пути обработки отчетов и подготовки их к просмотру.

Diagram that shows the processing and rendering path for reports.

Для поддержки функций, описанных ранее, текущий метод отрисовки SOAP разделен на несколько методов, охватывающих инициализацию выполнения, обработку и отрисовку.

Чтобы подготовить отчет к просмотру программным образом, необходимо выполнить следующие действия.

Пока отчет участвует в сеансе, может измениться базовый отчет, хранящийся в базе данных сервера отчетов. Например, может измениться определение отчета, сам отчет может быть удален или перемещен, а также могут измениться разрешения пользователя. Если отчет находится в активном сеансе, изменения в базовом отчете (то есть отчет, хранящийся в базе данных сервера отчетов), не влияют на него.

Сеансом отчета также можно управлять с помощь команд для доступа по URL-адресу.

Render
Технический справочник (SSRS)
Использование заголовков SOAP служб Reporting Services