Welches Persistenzmodell sollte mit Crystal Reports verwendet werden?

Wenn Sie planen, eine Anwendung mit dem Crystal Reports-SDK zu erstellen, wird eine Ihrer wichtigsten Überlegungen darin bestehen, welches Persistenzmodell verwendet werden sollte. Indem Sie die SDK-Grundlagen kennen lernen, die die Persistenz beeinflussen, können Sie leicht die optimale Struktur für Ihr Crystal Reports für Visual Studio-Projekt ermitteln.

Was ist Persistenz?

Bei Webseiten wird deren Zustand (der Status und die Informationen eines mit einer Website verbundenen Anwenders) nicht beibehalten. Jede Webseite wird von einem Server angefordert und an den Anwender gesendet. Anschließend wird der Prozess beendet. Dies ist in Ordnung, solange Textinformationen gelesen werden, bereitet jedoch Probleme beim Entwurf einer Webanwendung, die Informationen zu einem Anwender auch beim Neuladen oder Umleiten von Seiten beibehalten soll.

Persistenz beschreibt einen Mechanismus zur Beibehaltung des Zustands jedes einzelnen Anwenders (z. B. der aktuell angezeigten Berichtseite), und zwar ungehindert davon, ob eine Seite neu geladen oder umgeleitet wird.

Bewährte Methoden für Persistenz

In diesem Abschnitt werden bewährte Methoden erläutert, mit denen Änderungen an einem Crystal Reports-Bericht auf einer Webseite beibehalten werden, während der Bericht beim erneuten Laden der Webseite aktualisiert wird. Die beizubehaltende Änderung kann so einfach sein wie das Navigieren zur zweiten Seite, nachdem auf die Schaltfläche "Nächste Seite" des Report Viewers geklickt wurde, oder so komplex wie die Anzeige vollständig neuer Daten, nachdem die Parameter eines Berichts geändert wurden.

In Crystal Reports für Visual Studio muss Persistenz auf die folgenden Elemente angewendet werden:

  • Das CrystalReportViewer-Steuerelement
  • Den an das CrystalReportViewer-Steuerelement gebundenen Bericht

Möglichkeiten zur Beibehaltung des Zustands in ASP und ASP.NET

Im herkömmlichen ASP und ASP.NET wird der Zustand vom Webbrowser oder Webserver auf folgende Weisen beibehalten:

Umgebung
Client oder Server?
Name
Methode
ASP
Client-Browser
Formularfelder
Übergabe von Namens-/Wertepaaren zwischen Webseiten mit Hilfe von Feldern für die Formularübergabe
ASP
Client-Browser
URL-Argumente
Übergabe von Namens-/Wertepaaren zwischen Webseiten mit Hilfe von URL-Argumenten
ASP
Client-Browser
Cookie
Zuweisung von Namens-/Wertepaaren zu einem Cookie auf dem Clientbrowser und anschließender Abruf des Cookies in einer neuen Seite
ASP
Webserver
Session-Objekt
Zuweisung instantiierter Objekte zum Session-Objekt auf dem Server und anschließender Abruf von Session in einer neuen Seite
ASP
Webserver
Application-Objekt
Zuweisung instantiierter Objekte zum Application-Objekt auf dem Server und anschließender Abruf von Application in einer neuen Seite
ASP.NET
Client-Browser
ViewState-Objekt
Zuweisung von Zeichenfolgenwerten zum ViewState-Objekt des ASP.NET Web Forms
ASP.NET
Webserver
Cache-Objekt
Identisch mit Application-Objekt, jedoch mit erweiterten Funktionen

* Alle ASP-Persistenzmodelle sind weiterhin in ASP.NET funktionsfähig.

Welche Persistenzmodelle funktionieren am bestem mit Crystal Reports?

Die Persistenzmodelle ViewState, Session oder Cache sind am besten für die Verwendung mit Crystal Reports geeignet.

In diesem Abschnitt