Freigeben über


Identifizieren des Ausführungszustands

Hypertext Transfer Protocol (HTTP) ist ein verbindungsloses und zustandsloses Protokoll, was bedeutet, dass nicht automatisch angegeben wird, ob verschiedene Anforderungen vom gleichen Client stammen oder sogar ob eine einzelne Browserinstanz noch aktiv eine Seite oder Website anzeigt. Sitzungen erstellen eine logische Verbindung, um den Zustand zwischen Server und Client über HTTP aufrechtzuerhalten. Die benutzerspezifischen Informationen, die für eine bestimmte Sitzung relevant sind, werden als Sitzungszustand bezeichnet.

Die Sitzungsverwaltung umfasst das Korrelieren einer HTTP-Anforderung mit anderen vorherigen Anforderungen, die aus derselben Sitzung generiert wurden. Ohne Sitzungsverwaltung werden diese Anforderungen aufgrund der verbindungslosen und zustandslosen Art des HTTP-Protokolls nicht mit dem Report Server-Webdienst verknüpft.

Reporting Services macht kein ganzheitliches Konzept des Sitzungszustands verfügbar, z. B. das von ASP.NET verfügbar gemacht wird. Beim Ausführen von Berichten behält der Berichtsserver jedoch den Zustand zwischen Methodenaufrufen in Form einer Ausführung bei. Eine Ausführung ermöglicht es dem Benutzer, auf verschiedene Weise mit dem Bericht zu interagieren– einschließlich des Ladens des Berichts vom Berichtsserver, Festlegen von Anmeldeinformationen und Parametern für den Bericht und Rendern des Berichts.

Während sie mit einem Berichtsserver kommunizieren, verwenden Clients die Ausführung zum Verwalten der Berichtsanzeige und Benutzernavigation zu anderen Seiten in einem Bericht und zum Ein- oder Ausblenden von Abschnitten eines Berichts. Für jeden Bericht, den die Clientanwendung ausführt, ist eine eindeutige Ausführung vorhanden.

Im Allgemeinen beginnt die Lebensdauer einer Ausführung, wenn ein Benutzer zu einem Browser oder einer Clientanwendung navigiert und einen anzuzeigenden Bericht auswählt. Die Ausführung wird nach einem kurzen Timeoutzeitraum nach Empfang der letzten Anforderung an die Ausführung verworfen (der Standardtimeout beträgt 20 Minuten).

Aus Sicht eines Webdiensts beginnt die Lebensdauer, wenn der Report Server-Webdienst LoadReport, LoadReportDefinitionoder Render Methoden aufgerufen werden. Die Anwendung kann andere Methoden verwenden, um die aktive Ausführung zu bearbeiten (z. B. Festlegen von Parametern und Festlegen von Datenquellen). Die Ausführung wird nach einem kurzen Timeoutzeitraum nach Empfang der letzten Anforderung an die Ausführung verworfen (der Standardtimeout beträgt 20 Minuten).

Eine Anwendung verfolgt mehrere aktive Ausführungen zwischen Aufrufen des Webdiensts Render und RenderStream Methoden, indem sie den ExecutionIDSOAP-Header speichern, der im SOAP-Header von den LoadReport Methoden LoadReportDefinition zurückgegeben wird.

Das folgende Diagramm zeigt den Verarbeitungs- und Renderingpfad für Berichte.

Berichtsverarbeitungs-/Renderingpfad

Zur Unterstützung der oben beschriebenen Funktionen wurde die aktuelle SOAP-Rendermethode in mehrere Methoden unterteilt, die die Ausführungsinitialisierung, Verarbeitung und Renderingphasen umfassen.

Um einen Bericht programmgesteuert zu rendern, müssen Sie:

Während sich ein Bericht in einer Sitzung befindet, kann sich der zugrunde liegende Bericht, der in der Berichtsserverdatenbank gespeichert ist, ändern. Beispielsweise kann sich die Berichtsdefinition ändern, der Bericht kann gelöscht oder verschoben werden, und Benutzerberechtigungen können sich ändern. Wenn sich der Bericht in einer aktiven Sitzung befindet, ist er nicht von Änderungen betroffen, die am zugrunde liegenden Bericht vorgenommen wurden (d. a. der Bericht, der in der Berichtsserverdatenbank gespeichert ist).

Sie können eine Berichtssitzung auch mithilfe von URL-Zugriffsbefehlen verwalten.

Siehe auch

Render Technical Reference (SSRS)Using Reporting Services SOAP Headers