Inhalt
Vorwort
1 Wie .NET und ASP.NET funktionieren
2 Installation
3 Hinweise zu VB.NET
4 »Hallo, Welt!« – Ein ASP.NET-Crashkurs
5 Die Page-Klasse
6 HTML-Serversteuerelemente
7 Validierung von Anwendereingaben
8 Webserversteuerelemente
9 Webserversteuerelemente für die Darstellung von Listen
10 Webserversteuerelemente selbst erstellen
11 Der Status von Seiten, Sitzungen und Applikationen
12 ASP.NET und Datenbanken
13 »Wer darf was?« ASP.NET und Sicherheit
14 Webanwendungen erstellen und konfigurieren
15 Leistungssteigerung durch Caching
16 Web Services
A Anhang
Index
Download (ca 14,3 MB)
Buch bestellen (29,90 EUR)
Ihre Meinung?@
<< zurück | Galileo Computing / <openbook> / Einstieg in ASP.NET | vor >>
Einstieg in ASP.NET von Matthias Lohrer
| Kapitel 11 Der Status von Seiten, Sitzungen und Applikationen
|  | 11.1 Versteckte Felder in Formularen nutzen
|  | 11.2 Der Status einer Seite: Viewstate
|  |  | 11.2.1 Eigene Daten im Viewstate speichern
|  |  | 11.2.2 Den Anzeigestatus ein- und ausschalten
|  | 11.3 Der Status einer Sitzung: Session
|  |  | 11.3.1 Die Klasse HttpSessionState
|  |  | 11.3.2 Wie ASP.NET die Probleme des klassischen ASP löst
|  |  | 11.3.3 Übertragung der Session-ID: Cookie oder URL
|  |  | 11.3.4 Den Sitzungsstatus ein- und ausschalten
|  |  | 11.3.5 Den Sitzungsstatus konfigurieren
|  |  | 11.3.6 Session-Ereignisse verwenden
|  |  | 11.3.7 Objekte mit Session-Scope einbinden
|  |  | 11.3.8 Instanzen eigener Klassen in den Sitzungsdaten speichern
|  | 11.4 Cookies verwenden
|  | 11.5 Der Status einer Anwendung: Application
|  |  | 11.5.1 Den Zugriff auf anwendungsweite Daten synchronisieren
|  |  | 11.5.2 Beschränkungen von Application-Variablen
# Kapitel 11 Der Status von Seiten, Sitzungen und Applikationen Status bedeutet so viel wie Gedächtnis. ASP.NET hat ein Kurzzeitgedächtnis für einzelne Seiten, ein mittelfristiges Gedächtnis für Sitzungen und ein Langzeitgedächtnis für ganze Webanwendungen. Der Entwickler entscheidet, welche Informationen er wie lange benötigt. HTTP ist ein zustandsloses, das heißt statusloses Protokoll. Wenn ein Browser von einem Webserver eine Seite anfordert, dann »weiß« der Webserver nicht, ob er diesem Browser vor kurzem schon einmal eine Seite geschickt hat oder nicht. Bei vielen Anwendungen ist es aber zwingend erforderlich, dass der Aufruf einer Seite sich in irgendeiner Weise auf einen vorhergehenden Aufruf bezieht. Formulare bieten eine grundlegende Möglichkeit dafür, dass sich eine Seite auf eine vorangegangene Seite bezieht. Beim Anklicken eines Submit-Buttons schickt der Browser die Eingabedaten des Anwenders zum Server. Der Server verarbeitet diese Daten und generiert eine Antwortseite, in der er die Eingabedaten verarbeitet. Für den Server sind das zwei voneinander unabhängige Seitenaufrufe. Der Anwender erkennt aber einen sinnvollen Kontext. Bei der Webentwicklung gibt es verschiedene Möglichkeiten, einen solchen Kontext herzustellen, der auch über mehrere Seitenaufrufe hinweg gewahrt werden kann. Wenn ein Kontext lediglich zwischen mehreren Aufrufen derselben Seite, also bei Formularen, gewahrt bleiben soll, ist die Viewstate-Technologie das Mittel der Wahl. Sie wird in Abschnitt 11.2, Der Status einer Seite: Viewstate, vorgestellt. Wenn für die gesamte Sitzung eines Anwenders einheitliche Daten zur Verfügung stehen sollen, sind Session-Variablen und Cookies die geeigneten Mittel. Diese Themen werden in Abschnitt 11.3, Der Status einer Sitzung: Session, und in Abschnitt 11.4, Cookies verwenden, vorgestellt. Für Daten, die innerhalb einer kompletten Applikation einheitlich sind, stehen Application-Variablen zur Verfügung, die in Abschnitt 11.5, Der Status einer Anwendung: Application, vorgestellt werden. ## 11.1 Versteckte Felder in Formularen nutzen Eine einfache Möglichkeit, bestimmte Informationen über mehrere Seitenaufrufe hinweg zu erhalten, besteht in der Verwendung versteckter Felder. Diese Technologie wurde und wird häufig dann eingesetzt, wenn ein Formular ein anderes Formular aufruft, das selbst wieder zu mehreren unterschiedlichen Formularen führt usw. Ein Warenkorbsystem ist ein typisches Beispiel. Während der Kunde durch die Gänge, respektive Seiten, schlendert, sollen seine Stammdaten, etwa sein Name, stets auf allen Seiten präsent sein. Auch unter ASP.NET können Sie im form-Element manuell versteckte Felder definieren. Wenn Sie ein Element der Art input type="hidden" zusätzlich mit dem Attribut runat="server" versehen, erstellt ASP.NET hierfür serverseitig ein Objekt der Klasse HtmlInputHidden.
Tipp Die Page-Klasse bietet darüber hinaus die komfortable Methode RegisterHiddenField. Diese Methode ergänzt im Formular der aktuellen Seite selbstständig ein verstecktes Feld. Ihnen als Entwickler bietet diese Methode den Vorteil, dass Sie sich nicht darum kümmern müssen, das versteckte Feld an der richtigen Stelle im HTML-Teil der Seite auszugeben. ASP.NET fügt das versteckte Feld automatisch hinzu, sobald das form-Element dargestellt wird.
Der Vorteil der Verwendung versteckter Felder liegt in der Einfachheit. Die Funktionsweise versteckter Felder dürfte den meisten Entwicklern bereits bekannt sein. Sie sind leicht zu verstehen, leicht einzusetzen und sie unterliegen keinerlei Beschränkungen beim Einsatz verschiedener Browser und unterschiedlicher Browsereinstellungen. Dennoch haben versteckte Felder auch einige Einschränkungen und Nachteile:
| Versteckte Felder können als Wert lediglich String-Angaben enthalten. Ein verstecktes Feld kann beispielsweise kein Objekt enthalten.
| Der Name und der Wert versteckter Felder sind im HTML-Code im Klartext lesbar. Versteckte Felder sind also kein guter Ort, um sensible Daten zu speichern.
| Der Inhalt versteckter Felder wird bei jedem Seitenaufruf zum Server hin- und zum Browser zurückgeschickt. Das belastet das Netzwerk und ist für sensible Daten ebenfalls ungeeignet.
<< zurück | <top> | vor >>
Zum Katalog
Einstieg in ASP.NET bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung

.NET-Bibliothek
| Einstieg in VB.NET
| VB.NET
| Einstieg in C#
| Visual C#
| VB.NET und Datenbanken

Empfehlung
| Einstieg in XML

Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

MyGalileo
Der Service für registrierte Leser: Info

Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de