Was ist Web Forms?
ASP.NET Web Forms ist Teil des ASP.NET Webanwendungsframeworks und in Visual Studio enthalten. Es ist eines der vier Programmiermodelle, mit denen Sie ASP.NET Webanwendungen erstellen können. Die anderen sind ASP.NET MVC, ASP.NET Web Pages und ASP.NET Single Page Applications.
Web Forms sind Seiten, die Ihre Benutzer über ihren Browser anfordern. Diese Seiten können mit einer Kombination aus HTML, Clientskript, Serversteuerelementen und Servercode geschrieben werden. Wenn Benutzer eine Seite anfordern, wird sie vom Framework kompiliert und auf dem Server ausgeführt. Anschließend generiert das Framework das HTML-Markup, das der Browser rendern kann. Eine ASP.NET Web Forms Seite stellt dem Benutzer Informationen in jedem Browser oder Clientgerät dar.
Mit Visual Studio können Sie ASP.NET Web Forms erstellen. Mit der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) von Visual Studio können Sie Serversteuerelemente ziehen und ablegen, um Ihre Web Forms-Seite zu erstellen. Sie können dann ganz einfach Eigenschaften, Methoden und Ereignisse für Steuerelemente auf der Seite oder für die Seite selbst festlegen. Diese Eigenschaften, Methoden und Ereignisse werden verwendet, um das Verhalten, das Aussehen und Verhalten der Webseite usw. zu definieren. Um Servercode zur Verarbeitung der Logik für die Seite zu schreiben, können Sie eine .NET-Sprache wie Visual Basic oder C# verwenden.
Hinweis
ASP.NET- und Visual Studio-Dokumentation umfasst mehrere Versionen. Themen, die Features aus früheren Versionen hervorheben, können für Ihre aktuellen Aufgaben und Szenarien mit den neuesten Versionen nützlich sein.
ASP.NET Web Forms sind:
- Basierend auf der Microsoft-ASP.NET-Technologie, bei der Code, der auf dem Server ausgeführt wird, dynamisch eine Webseitenausgabe für den Browser oder das Clientgerät generiert.
- Kompatibel mit jedem Browser oder mobilen Gerät. Eine ASP.NET Webseite rendert automatisch den richtigen browserkonformen HTML-Code für Features wie Stile, Layout usw.
- Kompatibel mit jeder Sprache, die von der .NET Common Language Runtime unterstützt wird, z. B. Microsoft Visual Basic und Microsoft Visual C#.
- Basiert auf dem Microsoft .NET Framework. Dies bietet alle Vorteile des Frameworks, einschließlich einer verwalteten Umgebung, Typsicherheit und Vererbung.
- Flexibel, da Sie benutzerseitig erstellte Steuerelemente und Drittanbietersteuerelemente hinzufügen können.
ASP.NET Web Forms Angebot:
- Trennung von HTML und anderem UI-Code von der Anwendungslogik.
- Eine umfassende Suite von Serversteuerelementen für allgemeine Aufgaben, einschließlich Des Datenzugriffs.
- Leistungsstarke Datenbindung mit hervorragender Toolunterstützung.
- Unterstützung für clientseitige Skripterstellung, die im Browser ausgeführt wird.
- Unterstützung für eine Vielzahl weiterer Funktionen, einschließlich Routing, Sicherheit, Leistung, Internationalisierung, Tests, Debuggen, Fehlerbehandlung und Zustandsverwaltung.
ASP.NET Web Forms hilft Ihnen, Herausforderungen zu meistern
Die Programmierung von Webanwendungen stellt Herausforderungen dar, die bei der Programmierung herkömmlicher clientbasierter Anwendungen in der Regel nicht auftreten. Zu den Herausforderungen gehören:
- Implementieren einer umfassenden Webbenutzeroberfläche : Es kann schwierig und mühsam sein, eine Benutzeroberfläche mit grundlegenden HTML-Funktionen zu entwerfen und zu implementieren, insbesondere wenn die Seite ein komplexes Layout, eine große Menge dynamischer Inhalte und interaktive Objekte mit vollem Funktionsumfang aufweist.
- Trennung von Client und Server : In einer Webanwendung sind Client (Browser) und Server unterschiedliche Programme, die häufig auf verschiedenen Computern (und sogar auf unterschiedlichen Betriebssystemen) ausgeführt werden. Folglich teilen die beiden Hälften der Anwendung nur sehr wenig Informationen; Sie können kommunizieren, aber in der Regel nur kleine Blöcke einfacher Informationen austauschen.
- Zustandslose Ausführung : Wenn ein Webserver eine Anforderung für eine Seite empfängt, findet er die Seite, verarbeitet sie, sendet sie an den Browser und verwirft dann alle Seiteninformationen. Wenn der Benutzer dieselbe Seite erneut anfordert, wiederholt der Server die gesamte Sequenz und verarbeitet die Seite von Grund auf neu. Anders ausgedrückt: Ein Server verfügt über keinen Speicher von Seiten, die er verarbeitet hat. Die Seite ist zustandslos. Wenn eine Anwendung Daher Informationen zu einer Seite verwalten muss, kann die zustandslose Natur zu einem Problem werden.
- Unbekannte Clientfunktionen : In vielen Fällen sind Webanwendungen für viele Benutzer mit unterschiedlichen Browsern zugänglich. Browser verfügen über unterschiedliche Funktionen, sodass es schwierig ist, eine Anwendung zu erstellen, die für alle gleichermaßen gut ausgeführt wird.
- Komplikationen beim Datenzugriff : Das Lesen und Schreiben in eine Datenquelle in herkömmlichen Webanwendungen kann kompliziert und ressourcenintensiv sein.
- Komplikationen bei der Skalierbarkeit : In vielen Fällen können Webanwendungen, die mit vorhandenen Methoden entworfen wurden, aufgrund der fehlenden Kompatibilität zwischen den verschiedenen Komponenten der Anwendung die Skalierbarkeitsziele nicht erreichen. Dies ist häufig ein häufiger Fehlerpunkt für Anwendungen in einem starken Wachstumszyklus.
Die Bewältigung dieser Herausforderungen für Webanwendungen kann viel Zeit und Aufwand erfordern. ASP.NET Web Forms und das ASP.NET-Framework lösen diese Herausforderungen auf folgende Weise:
- Intuitives, konsistentes Objektmodell : Das ASP.NET Seitenframework stellt ein Objektmodell dar, mit dem Sie sich Ihre Formulare als Einheit und nicht als separate Client- und Serverelemente vorstellen können. In diesem Modell können Sie die Seite intuitiver programmieren als in herkömmlichen Webanwendungen, einschließlich der Möglichkeit, Eigenschaften für Seitenelemente festzulegen und auf Ereignisse zu reagieren. Darüber hinaus sind ASP.NET Serversteuerelemente eine Abstraktion von den physischen Inhalten einer HTML-Seite und von der direkten Interaktion zwischen Browser und Server. Im Allgemeinen können Sie Serversteuerelemente so verwenden, wie Sie mit Steuerelementen in einer Clientanwendung arbeiten können, und müssen nicht darüber nachdenken, wie sie den HTML-Code erstellen, um die Steuerelemente und deren Inhalt darzustellen und zu verarbeiten.
- Ereignisgesteuertes Programmiermodell: ASP.NET Web Forms Webanwendungen das vertraute Modell zum Schreiben von Ereignishandlern für Ereignisse, die auf dem Client oder Server auftreten, bereitstellen. Das ASP.NET Seitenframework abstrahiert dieses Modell so, dass der zugrunde liegende Mechanismus zum Erfassen eines Ereignisses auf dem Client, zum Übertragen an den Server und zum Aufrufen der entsprechenden Methode automatisch und für Sie unsichtbar ist. Das Ergebnis ist eine klare, einfach geschriebene Codestruktur, die die ereignisgesteuerte Entwicklung unterstützt.
- Intuitive Zustandsverwaltung : Das ASP.NET-Seitenframework übernimmt automatisch die Aufgabe, den Zustand Ihrer Seite und der zugehörigen Steuerelemente aufrechtzuerhalten, und bietet Ihnen explizite Möglichkeiten, den Zustand anwendungsspezifischer Informationen beizubehalten. Dies erfolgt ohne intensiven Einsatz von Serverressourcen und kann mit oder ohne Senden von Cookies an den Browser implementiert werden.
- Browserunabhängige Anwendungen : Mit dem ASP.NET-Seitenframework können Sie die gesamte Anwendungslogik auf dem Server erstellen, sodass sie nicht mehr explizit für Unterschiede in Browsern programmieren müssen. Es ermöglicht Ihnen jedoch weiterhin, browserspezifische Features zu nutzen, indem Sie clientseitigen Code schreiben, um eine verbesserte Leistung und eine umfangreichere Clienterfahrung zu bieten.
- .NET Framework Common Language Runtime-Unterstützung: Das ASP.NET-Seitenframework basiert auf dem .NET Framework, sodass das gesamte Framework für jede ASP.NET-Anwendung verfügbar ist. Ihre Anwendungen können in jeder Sprache geschrieben werden, die mit der Runtime kompatibel ist. Darüber hinaus wird der Datenzugriff mithilfe der vom .NET Framework bereitgestellten Datenzugriffsinfrastruktur vereinfacht, einschließlich ADO.NET.
- .NET Framework skalierbare Serverleistung: Mit dem ASP.NET Seitenframework können Sie Ihre Webanwendung von einem Computer mit einem einzelnen Prozessor auf eine Webfarm mit mehreren Computern ohne komplizierte Änderungen an der Logik der Anwendung skalieren.
Features von ASP.NET Web Forms
- Serversteuerelemente: ASP.NET Webserversteuerelemente sind Objekte auf ASP.NET Webseiten, die ausgeführt werden, wenn die Seite angefordert wird, und die Markup im Browser rendern. Viele Webserversteuerelemente ähneln bekannten HTML-Elementen, z. B. Schaltflächen und Textfeldern. Andere Steuerelemente umfassen komplexes Verhalten, z. B. Kalendersteuerelemente, und Steuerelemente, mit denen Sie eine Verbindung mit Datenquellen herstellen und Daten anzeigen können.
- Gestaltungsvorlagen: mit ASP.NET master Seiten können Sie ein konsistentes Layout für die Seiten in Ihrer Anwendung erstellen. Eine einzige Masterdseite definiert das Aussehen und das Standardverhalten, das Sie für alle Seiten (oder eine Gruppe von Seiten) in Ihrer Anwendung wünschen. Anschließend können Sie die einzelnen Inhaltsseiten mit dem anzuzeigenden Inhalt erstellen. Wenn Benutzer die Inhaltsseiten anfordern, werden sie mit der master Seite zusammengeführt, um eine Ausgabe zu erzeugen, die das Layout der master Seite mit dem Inhalt der Inhaltsseite kombiniert.
- Die Arbeit mit Data ASP.NET bietet viele Optionen zum Speichern, Abrufen und Anzeigen von Daten. In einer ASP.NET Web Forms-Anwendung verwenden Sie datengebundene Steuerelemente, um die Darstellung oder Eingabe von Daten in Webseiten-UI-Elementen wie Tabellen und Textfeldern und Dropdownlisten zu automatisieren.
- Mitgliedschaft: ASP.NET Identity speichert die Anmeldeinformationen Ihrer Benutzer in einer Datenbank, die von der Anwendung erstellt wurde. Wenn sich Ihre Benutzer anmelden, überprüft die Anwendung ihre Anmeldeinformationen, indem sie die Datenbank liest. Der Ordner Konto Ihres Projekts enthält die Dateien, die die verschiedenen Teile der Mitgliedschaft implementieren: Registrieren, Anmelden, Ändern eines Kennworts und Autorisieren des Zugriffs. Darüber hinaus unterstützt ASP.NET Web Forms OAuth und OpenID. Diese Authentifizierungserweiterungen ermöglichen es Benutzern, sich mit vorhandenen Anmeldeinformationen bei Ihrer Website anzumelden, z. B. von Konten wie Facebook, Twitter, Windows Live und Google. Standardmäßig erstellt die Vorlage eine Mitgliedschaftsdatenbank mit einem Standarddatenbanknamen auf einer instance von SQL Server Express LocalDB, dem Entwicklungsdatenbankserver, der mit Visual Studio Express 2013 für Web enthalten ist.
- Clientskript- und Clientframeworks: Sie können die serverbasierten Features von ASP.NET verbessern, indem Sie Clientskriptfunktionen in ASP.NET WebForm-Seiten einschließen. Sie können clientskripts verwenden, um Benutzern eine umfassendere, reaktionsfähigere Benutzeroberfläche bereitzustellen. Sie können auch das Clientskript verwenden, um asynchrone Aufrufe an den Webserver durchzuführen, während eine Seite im Browser ausgeführt wird.
- Routing: Mithilfe des URL-Routings können Sie eine Anwendung so konfigurieren, dass anforderungs-URLs akzeptiert werden, die nicht physischen Dateien zugeordnet sind. Eine Anforderungs-URL ist einfach die URL, die ein Benutzer in seinen Browser eingibt, um eine Seite auf Ihrer Website zu finden. Sie verwenden Routing, um URLs zu definieren, die für Benutzer semantisch sinnvoll sind und bei der Suchmaschinenoptimierung (SEO) helfen können.
- Zustandsverwaltung: ASP.NET Web Forms umfasst mehrere Optionen, mit denen Sie Daten sowohl auf Seitenbasis als auch anwendungsweit aufbewahren können.
- Sicherheit: Ein wichtiger Teil der Entwicklung einer sichereren Anwendung ist das Verständnis der Bedrohungen für sie. Microsoft hat eine Methode zum Kategorisieren von Bedrohungen entwickelt: Spoofing, Manipulation, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege (STRIDE). In ASP.NET Web Forms können Sie Erweiterbarkeitspunkte und Konfigurationsoptionen hinzufügen, mit denen Sie verschiedene Sicherheitsverhalten in ASP.NET Web Forms anpassen können.
- Leistung: Die Leistung kann ein wichtiger Faktor für eine erfolgreiche Website oder ein erfolgreiches Projekt sein. mit ASP.NET Web Forms können Sie die Leistung im Zusammenhang mit der Verarbeitung von Seiten- und Serversteuerungen, der Zustandsverwaltung, dem Datenzugriff, der Anwendungskonfiguration und dem Laden sowie effizienten Codierungsmethoden ändern.
- Internationalisierung: mit ASP.NET Web Forms können Sie Webseiten erstellen, die Inhalte und andere Daten basierend auf der bevorzugten Spracheinstellung für den Browser oder basierend auf der expliziten Sprachwahl des Benutzers abrufen können. Inhalte und andere Daten werden als Ressourcen bezeichnet, und solche Daten können in Ressourcendateien oder anderen Quellen gespeichert werden. Auf einer ASP.NET Web Forms Seite konfigurieren Sie Steuerelemente, um deren Eigenschaftswerte aus Ressourcen abzurufen. Zur Laufzeit werden die Ressourcenausdrücke durch Ressourcen aus der entsprechenden lokalisierten Ressourcendatei ersetzt.
- Debuggen und Fehlerbehandlung: ASP.NET enthält Features, mit denen Sie Probleme diagnostizieren können, die in Ihrer Web Forms-Anwendung auftreten können. Debuggen und Fehlerbehandlung werden in ASP.NET Web Forms gut unterstützt, damit Ihre Anwendungen effektiv kompiliert und ausgeführt werden.
- Bereitstellung und Hosting: Visual Studio, ASP.NET, Azure und IIS stellen Tools bereit, die Ihnen beim Bereitstellen und Hosten Ihrer Web Forms-Anwendung helfen.
Entscheidung, wann eine Web Forms-Anwendung erstellt werden soll
Sie müssen sorgfältig überlegen, ob Sie eine Webanwendung mithilfe des ASP.NET Web Forms-Modells oder eines anderen Modells wie dem ASP.NET MVC-Framework implementieren. Das MVC-Framework ist kein Ersatz für das Web Forms-Modell. Sie können jedes der beiden Frameworks für Webanwendungen verwenden. Bevor Sie sich entscheiden, das Web Forms-Modell oder das MVC-Framework für eine bestimmte Website zu verwenden, sollten Sie die Vorteile der einzelnen Ansätze abwägen.
Vorteile einer Web Forms-basierten Webanwendung
Das Web Forms-basierte Framework bietet die folgenden Vorteile:
- Es unterstützt ein Ereignismodell, das den Zustand über HTTP beibehält. Dies bietet Vorteile für die Entwicklung von webbasierten Geschäftsanwendungen. Die Web Forms-basierte Anwendung stellt Dutzende von Ereignissen bereit, die in Hunderten von Serversteuerelementen unterstützt werden.
- Es verwendet ein Seitencontroller-Schema, mit dem Funktionalität für einzelne Seiten hinzugefügt wird. Weitere Informationen finden Sie unter Page Controller.
- Es verwendet Ansichtszustands- oder serverbasierte Formulare, die die Verwaltung von Zustandsinformationen vereinfachen können.
- Es eignet sich gut für kleine Webentwicklerteams und für Designer, die auf die große Anzahl verfügbarer Komponenten zurückgreifen möchten, um die Anwendungsentwicklung zu beschleunigen.
- Im Allgemeinen ist es für die Anwendungsentwicklung weniger komplex, da die Komponenten (die Page-Klasse , Steuerelemente usw.) eng integriert sind und in der Regel weniger Code als das MVC-Modell benötigen.
Vorteile einer MVC-basierten Webanwendung
Die ASP.NET MVC-Framework bietet die folgenden Vorteile:
- Komplexe Anwendungen können leichter verwaltet werden, indem die Anwendung in die Komponenten Modell, Ansicht und Controller unterteilt wird.
- Es verwendet keine Ansichtszustände und severbasierten Formulare. Dadurch eignet sich das MVC-Framework für Entwickler, die das Verhalten einer Anwendung präzise kontrollieren möchten.
- Es verwendet ein Frontcontroller-Schema, das Webanwendungsanforderungen durch einen einzelnen Controller verarbeitet. Auf diese Weise können Sie im Anwendungsentwurf eine umfangreiche Routinginfrastruktur unterstützen. Weitere Informationen finden Sie unter Front Controller.
- Es bietet eine bessere Unterstützung für die testgesteuerte Entwicklung.
- Dies funktioniert gut für Webanwendungen, die von großen Teams von Entwicklern und Webdesignern unterstützt werden, die ein hohes Maß an Kontrolle über das Anwendungsverhalten benötigen.