Freigeben über


Einführung: Planen einer ASP.NET-Website

Aktualisiert: November 2007

Vor dem Erstellen einer Website empfiehlt es sich, die Site zu planen, bevor Sie mit dem Erstellen von Seiten und dem Schreiben von Code beginnen. Die Vorabplanung der Site kann es vereinfachen, das Erscheinungsbild und die Navigationsfunktionen zu erstellen.

Die Größe einer Website ist häufig ein guter Indikator für den erforderlichen Planungsaufwand. Eine kleine Website in Broschürenform, die nur statische Informationen enthält, erfordert in der Regel nur einen geringen Planungsaufwand. Eine Website, die auf einen Datenspeicher zugreift, Benutzer authentifiziert und über Zugriffsbeschränkungen verfügt, erfordert dagegen mehr Planungsaufwand. Mithilfe eines Plans können Sie bei der Entwicklung und Pflege der Site Zeit sparen.

Die folgenden Themen enthalten Informationen, die für die gesamte Website gelten, z. B.:

  • Ausgewählter Typ der Website

  • Art der Navigation durch die Site

  • Möglichkeiten zum Erstellen eines einheitlichen Erscheinungsbilds und Layouts für alle Seiten der Site

  • Zugriff auf Daten eines Datenspeichers

Wählen eines Websiteprojekttyps

In Visual Studio 2008 können Sie zwei Projekttypen erstellen. Das standardmäßige Websiteprojekt verwendet eine Dateiverzeichnisstruktur, um den Inhalt eines Projekts zu definieren. In diesem Modell gibt es keine Projektdatei, und alle Dateien im Verzeichnis sind Teil des Projekts.

Im Gegensatz dazu sind in einem Webanwendungsprojekt, nur die Dateien Teil des Projekts, auf die in der Projektdatei der Lösung explizit verwiesen wird. Diese Dateien werden im Projektmappen-Explorer angezeigt. Es handelt sich dabei nur um die Dateien, die während eines Buildvorgangs kompiliert werden.

Die Projektdatei eines Webanwendungsprojekts erleichtert die Implementierung einiger Szenarios. Beispielsweise können Sie eine ASP.NET-Anwendung in mehrere Visual Studio-Projekte unterteilen, indem Sie in verschiedenen Projektdateien auf Dateien verweisen. Darüber hinaus können Sie Dateien mühelos aus dem Projekt ausschließen.

Verwenden Sie Webanwendungsprojekte, wenn Sie die folgenden Aufgaben ausführen müssen:

  • Migrieren großer Visual Studio .NET 2003-Anwendungen nach Visual Studio 2008

  • Steuern der Namen von Ausgabeassemblys

  • Verwenden eigenständiger Klassen zum Verweisen auf Seiten- und Benutzersteuerelement-Klassen

  • Erstellen einer Webanwendung mithilfe mehrerer Webprojekte

  • Hinzufügen von Präbuild- und Postbuildschritten während der Kompilierung

Zugreifen auf Daten eines Datenspeichers

Mithilfe der ASP.NET-Datenbindung können Sie Komponenten an Datenquellen und einfache Eigenschaften, Auflistungen, Ausdrücke und Methoden binden. Dies erhöht die Flexibilität beim Verwenden von Daten aus einer Datenbank oder anderen Quellen.

Wenn die Website auf einen Datenspeicher zugreift, sollten Sie die Verwendung der Datenquellensteuerelemente in Erwägung ziehen, da sie Teil eines allgemeinen Datenmusters sind. Dieses Datenmuster trennt den Datenzugriffscode und den Geschäftslogikcode von den Webseiten, die die Darstellungsschicht der Website bilden. Eine Datenzugriffsschicht besteht aus Methoden, die zum Zugreifen auf einen Datenspeicher verwendet werden. Eine Geschäftslogikschicht fügt der Datenzugriffsschicht Regeln hinzu, z. B. eine Beschränkung zum Anzeigen oder Ändern der Daten. Die Darstellungsschicht besteht aus Seiten, auf die Benutzer zugreifen, um die Daten anzuzeigen und zu ändern. Weitere Informationen zur Erstellung dieser Schichten finden Sie unter Exemplarische Vorgehensweise: Erstellen der Datenzugriffs- und Geschäftslogikschichten in ASP.NET.

Sie können dieses allgemeine Datenmuster implementieren, indem Sie die Darstellungsschicht von der Datenzugriffs- und Geschäftslogikschicht trennen, indem Sie das Datenquellenmodell von ASP.NET verwenden. Indem Sie Steuerelemente wie LinqDataSource, ObjectDataSource und SqlDataSource verwenden, erstellen Sie eine Datenzugriffsschicht und Geschäftslogikschicht, die jeweils von der Darstellungsschicht getrennt ist.

Sie sollten auch überlegen, ob die Website im Arbeitsspeicher zwischengespeicherte Daten verwenden muss. Wenn sich ein beträchtlicher Teil der Anwendungsdaten nicht häufig ändert und somit über Sitzungen bzw. Benutzer hinweg gleich bleibt, können Sie die Daten auf dem Webserver im Speicher belassen. Auf diese Weise können Sie die Anzahl von Anforderungen an die Datenbank reduzieren und die Benutzerinteraktionen beschleunigen. Sie erstellen eine speicherinterne Datenbank, indem Sie die DataSet-Klasse verwenden. Ein anderer nützlicher Aspekt des DataSet-Objekts besteht darin, dass eine Anwendung Teilmengen von Daten aus einer oder mehreren Datenquellen in den Anwendungsbereich einbinden kann. Die Anwendung kann dann die Daten im Arbeitsspeicher verarbeiten und dabei die bestehenden Beziehungen aufrechterhalten.

Mit zunehmender Größe der Site und wenn Sie innerhalb der Site Seiten verschieben, kann die Verwaltung von Links schnell aufwändig werden. Die ASP.NET-Sitenavigation umfasst Serversteuerelemente und Klassen, mit denen Sie Benutzern auf der Seite einheitliche Navigationsfunktionen bereitstellen können. Sie können Links zu allen Seiten an einem zentralen Speicherort speichern (meist in einer XML-Datei). Sie können diese Links oder Navigationsmenüs auf den einzelnen Seiten rendern, indem Sie ein SiteMapDataSource-Steuerelement zum Lesen der Siteinformationen einfügen. Sie verwenden dann ein Serversteuerelement für die Navigation, z. B. TreeView oder Menu, um Siteinformationen anzuzeigen.

Ein wichtiges Element der ASP.NET-Sitenavigation ist der Siteübersichtsanbieter. Dies ist eine Klasse, die mit einer Siteübersichts-Datenquelle verwendet wird und Navigationsinformationen offenlegt. Der standardmäßige ASP.NET-Siteübersichtsanbieter bezieht Siteübersichtsdaten z. B. aus der XML-Datei Web.sitemap und übermittelt diese Daten direkt an das SiteMapPath-Webserver-Steuerelement.

Definieren eines einheitlichen Erscheinungsbilds der Website

ASP.NET enthält verschiedene Funktionen, die Sie beim Erstellen und Pflegen eines einheitlichen Erscheinungsbilds der Website unterstützen, z. B. ASP.NET-Designs und ASP.NET-Masterseiten. Sie können diese Funktionen zu einem frühen Zeitpunkt der Siteentwicklung anwenden, um für die Website ein einheitliches Erscheinungsbild zu erzielen.

ASP.NET-Designs definieren die Darstellung von Seiten und Steuerelementen in der Website. Ein ASP.NET-Design kann Designdateien enthalten, die Eigenschafteneinstellungen für ASP.NET-Webserver-Steuerelemente definieren. Außerdem können Designs Cascading Stylesheets (CSS-Dateien) und Grafiken enthalten. Indem Sie ein Design anwenden, können Sie den Seiten der Website ein einheitliches Erscheinungsbild verleihen. Wenn Sie im Entwicklungsprozess zu einem frühen Zeitpunkt ein Design oder eine Gruppe von Designs erstellen, können Sie diese Designs auf jede neue Seite anwenden, die Sie erstellen. Weitere Informationen zu Designs finden Sie unter Übersicht über ASP.NET-Designs und ASP.NET-Skins.

Mithilfe von ASP.NET-Masterseiten können Sie ein Seitenlayout erstellen (eine Masterseite), das Sie auf ausgewählte Seiten (Inhaltsseiten) der Website anwenden können. Masterseiten können ein sehr nützliches Hilfsmittel beim Erzielen eines einheitlichen Erscheinungsbilds für Ihre Website sein. Sie können Masterseiten auch schachteln. Sie können z. B. geschachtelte Masterseiten verwenden, um ein Masterlayout für die gesamte Site und ein anderes Masterlayout für einzelne Abschnitte zu erstellen. Außerdem können Sie Masterseiten in Verbindung mit Designs verwenden. Weitere Informationen zu Masterseiten finden Sie unter Übersicht über ASP.NET-Masterseiten und Geschachtelte ASP.NET-Masterseiten.

Hinzufügen von AJAX-Funktionalität

Mit den AJAX-Features in ASP.NET können Sie schnell Webseiten erstellen, die mit reaktionsschnellen und vertrauten Benutzeroberflächenelementen eine hohe Benutzerfreundlichkeit bieten. Sie haben auch die Möglichkeit, eine Seite ohne Postback zu aktualisieren. Zu den AJAX-Features zählen Bibliotheken mit Clientskripts, in denen browserübergreifende ECMAScript (JavaScript)- und Dynamic HTML (DHTML)-Technologien integriert sind. Außerdem sind diese Features in der serverbasierten ASP.NET-Entwicklungsplattform integriert. Sie können die Benutzerfreundlichkeit und die Effizienz von Webanwendungen verbessern, indem Sie AJAX-Features verwenden. Weitere Informationen finden Sie unter Übersicht über ASP.NET-AJAX.

Verwenden von Zustandsverwaltungsfeatures

HTTP ist ein statusfreies Protokoll. Jede Anforderung wird bei ihrem Eingang verarbeitet. Nach der Verarbeitung werden alle Daten verworfen. Über Anforderungen hinweg wird kein Zustand beibehalten, auch dann nicht, wenn die Anforderungen von demselben Client stammen. Für die meisten Webanwendungen ist es jedoch nützlich, den Zustand über Anforderungen hinweg beizubehalten.

ASP.NET bietet systeminterne Zustandsverwaltungsfunktionen zum Speichern von Informationen zwischen den Seitenanforderungen, z. B. Kundeninformationen oder den Inhalt eines Einkaufswagens. Sie können anwendungsspezifische, sitzungsspezifische, seitenspezifische, benutzerspezifische und entwicklerdefinierte Informationen speichern und verwalten. Bei ASP.NET können Sie unter verschiedenen Formen der Zustandsverwaltung wählen, darunter Cookies, Ansichtszustand, Sitzungszustand, Anwendungszustand und Profileigenschaften. Diese Informationen können von allen Steuerelementen auf der Seite unabhängig sein.

Wenn Sie eine Website planen, sollten Sie überlegen, welche Formen der Zustandsverwaltung Sie benötigen. Weitere Informationen finden Sie unter Übersicht über die ASP.NET-Zustandsverwaltung.

Zwischenspeichern von Daten zur Leistungsoptimierung

Sie können die Leistung einer Website häufig erhöhen, indem Sie Daten im Speicher bereithalten, auf die häufig zugegriffen wird und deren Erstellung erhebliche Verarbeitungszeit erfordert. Wenn die Anwendung z. B. große Datenmengen mithilfe von komplexer Logik verarbeitet und die Daten in Form eines Berichts zurückgibt, können Sie die Effizienz steigern, indem Sie den Bericht nicht bei jeder Benutzeranforderung neu erstellen. Auch Anwendungsseiten, die komplexe Daten verarbeiten, aber nur unregelmäßig aktualisiert werden, sollten aus Effizienzgründen nicht bei jeder Anforderung vom Server neu erstellt werden.

Der ASP.NET-Cache ist eine Mehrzweck-Cacheeinrichtung für Websites. Er stellt eine einfache Schnittstelle für die Zwischenspeicherung und eine erweiterte Schnittstelle mit Abhängigkeitsdiensten für Ablaufzeitpunkt und Änderungen bereit. Zur Verbesserung der Anwendungsleistung in solchen Situationen stellt ASP.NET zwei Mechanismen zum Zwischenspeichern bereit. Erstens, der Anwendungscache: Mit der Zwischenspeicherung in Anwendungen können Sie Daten zwischenspeichern, die Sie selbst generiert haben, z. B. ein DataSet oder ein Geschäftsobjekt für einen benutzerdefinierten Bericht. Zweitens, der Seitenausgabecache: Durch die Zwischenspeicherung der Seitenausgabe werden ausgegebene Seiten gespeichert und wieder verwendet, statt die Seite bei einer wiederholten Benutzeranforderung erneut auszugeben. Wenn Sie beim Entwerfen der Website die Zwischenspeicherung bestimmter Seiten berücksichtigen, können Sie eine effizientere Website erstellen.

Sicherheitsinfrastruktur

Zusätzlich zu den Sicherheitsfeatures von .NET Framework bietet ASP.NET eine Sicherheitsinfrastruktur für die Authentifizierung und Autorisierung von Benutzerzugriffen sowie für die Ausführung anderer Sicherheitsaufgaben. Sie können Benutzer per Windows-Authentifizierung authentifizieren, die von IIS bereitgestellt wird. Alternativ dazu können Sie die Authentifizierung verwalten, in dem Sie die ASP.NET-Formularauthentifizierung und die ASP.NET-Mitgliedschaft verwenden. Zusätzlich können Sie die Autorisierung des Zugriffs auf Ressourcen der Webanwendung mithilfe von Windows-Gruppen oder über eine benutzerdefinierte Rollendatenbank und ASP.NET-Rollen verwalten. Abhängig von den Anforderungen der Anwendung können Sie diese Schemas leicht entfernen, hinzufügen oder ersetzen. Weitere Informationen finden Sie unter den folgenden Themen:

ASP.NET wird immer mit einer bestimmten Windows-Identität ausgeführt. Daher können Sie die Sicherheit der Anwendung mit Windows-Funktionen wie NTFS-Zugriffssteuerungslisten (ACLs) und Datenbankberechtigungen verbessern. Weitere Informationen zur Identität, unter der ASP.NET ausgeführt wird, finden Sie unter Konfigurieren der Prozessidentität in ASP.NET und Identitätswechsel in ASP.NET.

Andere Überlegungen

Sie sollten sich die Themen in diesem Abschnitt ansehen, bevor Sie mit dem Codieren einer Website beginnen. Indem Sie die Informationen in diesen Themen in Ihre Planung einbeziehen, können Sie Zeit sparen und die Kompatibilität der Site mit den heutigen Webstandards sicherstellen.

Eingabehilfen

Als Eingabehilfenprogrammierung wird das Entwerfen und Entwickeln von Anwendungen bezeichnet, die mit dem Betriebssystem eines Computers verwendet werden und mit denen bestimmte Behinderungen (z. B. eingeschränkte Bewegungsfähigkeit oder Blindheit) ausgeglichen werden sollen. ASP.NET bietet Unterstützung beim Erstellen von Webanwendungen, auf die Menschen mit Behinderungen zugreifen können. In behindertengerechten Webanwendungen können Hilfstechnologien für die Arbeit mit Webseiten verwendet werden, z. B. Bildschirmsprachausgaben. Behindertengerechte Webanwendungen weisen die folgenden Vorteile auf:

  • Sie können von der größtmöglichen Benutzerzahl verwendet werden.

  • Es werden Entwurfsprinzipien verwendet, von denen neben Menschen mit Behinderungen auch alle anderen Benutzer profitieren.

  • Sie erfüllen die Anforderungen vieler Institutionen, für die alle Webanwendungen behindertengerecht gestaltet sein müssen.

Wenn Sie die Richtlinien für behindertengerechte Software kennen und wissen, wie ASP.NET Sie beim Erfüllen dieser Richtlinien unterstützen kann, können Sie Anwendungen erstellen, mit denen Menschen mit Behinderungen leichter interagieren können. Weitere Informationen zu den Richtlinien für Eingabehilfen finden Sie unter Unterstützung von Eingabehilfen in ASP.NET.

In den meisten Fällen rendern ASP.NET-Steuerelemente Markup, das Seiten erstellt, die den Standardvorgaben für Eingabehilfen entsprechen. Es können auch Eigenschaften offengelegt werden, die Sie festlegen können, um den Zugriff auf die Seiten zu ermöglichen. Manchmal geben ASP.NET-Steuerelemente jedoch eine Ausgabe wieder, die nicht alle Standards für behindertengerechte Software erfüllt. Ausführliche Informationen finden Sie unter Steuerelemente und Eingabehilfen von ASP.NET.

Globalisierung und Lokalisierung

Unter Globalisierung versteht man das Entwerfen und Entwickeln von Anwendungen, die in mehreren Kulturen funktionsfähig sind. Lokalisierung bezeichnet die Anpassung einer Anwendung an eine bestimmte Kultur und ein Gebietsschema. Wenn Sie Webseiten für Leser unterschiedlicher Sprachkreise erstellen, müssen Sie den Lesern eine Möglichkeit geben, die Seiten in ihrer eigenen Sprache anzuzeigen. ASP.NET gibt Ihnen ein Verfahren zum Erstellen von Webseiten an die Hand, mit denen Inhalte und andere Daten basierend auf der bevorzugten Spracheinstellung des Browsers oder der expliziten Sprachauswahl des Benutzers abgerufen werden können. Dieser Inhalt und andere Daten werden auch als Ressourcen bezeichnet und können in Ressourcendateien oder anderen Datenquellen gespeichert werden. Auf der ASP.NET-Webseite konfigurieren Sie Steuerelemente zum Abrufen der entsprechenden Eigenschaftenwerte aus den Ressourcen. Zur Laufzeit werden die Ressourcenausdrücke durch Ressourcen aus der jeweiligen Ressourcendatei ersetzt. Weitere Informationen finden Sie unter Übersicht über das Verwenden von Ressourcen für ASP.NET-Webseiten.

Erstellen einzelner Seiten und Vorkompilieren

Das Erstellen einer Seite oder Website ist Teil der Entwicklung einer Website. Sie können damit überprüfen, ob an irgendeiner Stelle der Site Kompilierungsfehler auftreten. Obwohl die Seiten beim Erstellen kompiliert werden, entsteht dabei keine Assembly, die zum Bereitstellen genutzt werden kann.

Sie können eine Site bereitstellen, ohne sie zu kompilieren, indem Sie alle zu der Website gehörigen Dateien auf einen Produktionsserver kopieren. Wenn Benutzer Seiten vom Produktionsserver anfordern, kompiliert ASP.NET die Site dynamisch, wobei dieselben Schritte wie beim Erstellen in Visual Studio ausgeführt werden. (ASP.NET legt die resultierende Ausgabe im Cache ab, sodass die Seiten nicht bei jeder Anforderung erneut kompiliert werden müssen.)

Wenn Sie die Site zu Assemblys und anderen Dateien kompilieren möchten, die für die Bereitstellung genutzt werden können, können Sie die Site veröffentlichen. Bei der Veröffentlichung werden dieselben Kompilierungsschritte wie beim Erstellen ausgeführt. Die Ausgabe wird jedoch in Ordnern und untergeordneten Ordnern gespeichert, die Sie für die Bereitstellung auf dem Produktionsserver verwenden können.

Weitere Informationen finden Sie unter Übersicht über die ASP.NET-Bereitstellung.

Siehe auch

Konzepte

Übersicht über ASP.NET