Identifizieren des AusführungsstatusIdentifying Execution State

HTTP (Hypertext Transfer Protocol) ist ein verbindungs- und statusfreies Protokoll, d. h. es gibt nicht automatisch an, ob unterschiedliche Anforderungen vom selben Client stammen oder ob eine einzelne Browserinstanz eine Webseite immer noch aktiv anzeigt.Hypertext Transfer Protocol (HTTP) is a connectionless and stateless protocol, which means that it does not automatically indicate whether different requests come from the same client or even whether a single browser instance is still actively viewing a page or site. In Sitzungen wird eine logische Verbindung erstellt, um den Status zwischen Server und Client über HTTP beizubehalten.Sessions create a logical connection to maintain state between server and client over HTTP. Die benutzerspezifischen Informationen einer bestimmten Sitzung werden als Sitzungsstatus bezeichnet.The user-specific information relevant to a particular session is known as the session state.

Die Sitzungsverwaltung umfasst die Korrelation einer HTTP-Anforderung mit anderen, früheren Anforderungen, die von der gleichen Sitzung generiert wurden.Session management involves correlating an HTTP request with other previous requests generated from the same session. Ohne Sitzungsverwaltung werden diese Anforderungen aufgrund der verbindungs- und statuslosen Natur des HTTP-Protokolls ohne Beziehung zum Berichtsserver-Webdienst angezeigt.Without session management, these requests appear unrelated to the Report Server Web service because of the connectionless and stateless nature of the HTTP protocol.

Reporting ServicesReporting Services stellt kein holistisches Konzept des Sitzungsstatus bereit, wie es z.B. ASP.NETASP.NET macht.does not expose a holistic concept of session state such as that exposed by ASP.NETASP.NET. Bei der Ausführung von Berichten behält der Berichtsserver jedoch den Status zwischen den Methodenaufrufen in Form einer Ausführungbei.However, when executing reports, the report server maintains state between method calls in the form of an execution. Mithilfe einer Ausführung kann der Benutzer auf verschiedene Arten mit dem Bericht interagieren. Dazu gehört das Laden des Berichts vom Berichtsserver, die Einstellung der Anmeldeinformationen und Parameter für den Bericht sowie das Rendern des Berichts.An execution allows the user to interact with the report in several ways - including loading the report from the report server, setting credentials and parameters for the report, and rendering the report.

Während die Clients mit einem Berichtsserver kommunizieren, verwenden sie die Ausführung, um die Berichtsanzeige und Benutzernavigation auf anderen Seiten in einem Bericht zu verwalten oder um bestimmte Abschnitte eines Berichts auszublenden.While they are communicating to a report server, clients use the execution to manage report viewing and user navigation to other pages in a report, and to show or hide sections of a report. Eine eindeutige Ausführung ist für jeden Bericht vorhanden, den die Clientanwendung ausführt.A unique execution exists for each report the client application is running.

Normalerweise beginnt die Lebensdauer einer Ausführung, wenn ein Benutzer zum Browser oder zur Clientanwendung navigiert und einen Bericht für die Anzeige auswählt.In general, the lifetime of an execution starts when a user navigates to a browser or client application and selects a report to view. Die Ausführung wird nach einem kurzen Timeout verworfen, nachdem die letzte Anforderung an die Ausführung eingegangen ist (der Standard-Timeout beträgt 20 Minuten).The execution is discarded after a short time out period after the last request to the execution has been received (the default time out is 20 minutes).

Von der Perspektive eines Webdiensts beginnt die Lebensdauer, wenn die Berichtsserver-Webdienstmethoden LoadReport, LoadReportDefinition oder Render aufgerufen werden.From a Web service perspective, the lifetime starts when the Report Server Web service LoadReport, LoadReportDefinition, or Render methods are called. Die Anwendung kann andere Methoden zur Bearbeitung der aktiven Ausführung verwenden (z. B. Einstellen von Parametern und Datenquellen).The application can use other methods to manipulate the active execution (for example, setting parameters and setting data sources). Die Ausführung wird nach einem kurzen Timeout verworfen, nachdem die letzte Anforderung an die Ausführung eingegangen ist (der Standard-Timeout beträgt 20 Minuten).The execution is discarded after a short time out period after the last request to the execution has been received (the default time out is 20 minutes).

Eine Anwendung verfolgt mehrere aktive Ausführungen zwischen den Aufrufen an die Webdienstmethoden Render und RenderStream, indem ExecutionID gespeichert wird, was im SOAP-Header von den Methoden LoadReport und LoadReportDefinition zurückgegeben wird.An application keep track of multiple active executions between calls to the Web service Render and RenderStream methods by saving the ExecutionID, which is returned in the SOAP header from the LoadReport and LoadReportDefinition methods.

Das folgende Diagramm zeigt den Verarbeitungs- und Renderingpfad für Berichte.The following diagram shows the processing and rendering path for reports.

Verarbeitungs-/Renderingpfad für BerichteReport processing/rendering path

Um die oben genannten Funktionen zu unterstützen, wurde die aktuelle SOAP-Render-Methode in mehrere Methoden aufgeteilt, die die Phasen der Ausführungsinitialisierung, der Verarbeitung und des Rendering umfassen.To support the functions described above, the current SOAP Render method has been split into multiple methods encompassing execution initialization, processing, and rendering phases.

Um programmgesteuert einen Bericht zu rendern, müssen Sie Folgendes tun:To programmatically render a report, you must:

Während sich ein Bericht in einer Sitzung befindet, kann sich der in der Berichtsserver-Datenbank gespeicherte zugrundeliegende Bericht ändern.While a report is in session, the underlying report stored in the report server database can change. Beispiel: Die Berichtsdefinition kann sich ändern, der Bericht kann gelöscht oder verschoben werden, oder die Benutzerberechtigung kann sich ändern.For example, the report definition can change, the report can be deleted or moved, and user permissions can change. Wenn sich der Bericht in einer aktiven Sitzung befindet, ist er von den Änderungen am zugrundeliegenden Bericht (also dem in der Berichtsserver-Datenbank gespeicherten Bericht) nicht betroffen.If the report is in an active session, it is not affected by changes made to the underlying report (that is, the report stored in the report server database).

Sie können eine Berichtssitzung auch mit URL-Zugriffsbefehlen verwalten.You can also manage a report session using URL access commands.

Weitere InformationenSee Also

Render
Technische Referenz (SSRS) Technical Reference (SSRS)
Using Reporting Services SOAP Headers (Verwenden von Reporting Services SOAP-Headern)Using Reporting Services SOAP Headers