ASP.NET -- Grundlagen und Profiwissen



Ähnliche Dokumente
ASP.NET HANSER. Patrick A. Lorenz. Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework

Programmieren lernen in ASP.NET mit C#

Webseiten entwickeln mit ASP.NET

ASP.NET. von Patrick A. Lorenz. 1. Auflage. ASP.NET Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG. Hanser München 2002

Microsoft ASP.NET 2.0 Crashkurs

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

ASP.NET. Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework. von Patrick A Lorenz.

jetzt lerne ich ASP.NET Dynamische Webseiten mit ASP.NET 1.1 mit Ausblick auf ASP 2.0 WENZ KORDWIG TRENNHAUS

ASP.NET mit C#Kochbuch

ASP.NET Grundlagen. Was ist ASP.NET

Inhaltsverzeichnis. Einleitung... 11

Web2Lead. Konfiguration

Wie richten Sie Ihr Web Paket bei Netpage24 ein

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Kurzeinführung Excel2App. Version 1.0.0

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Umzug der Datenbank Firebird auf MS SQL Server

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Grundlagen und Best Practices bei der SharePoint Entwicklung

OP-LOG

Inhaltsverzeichnis. 1. Einrichtung in Mozilla Thunderbird. 1.1 Installation von Mozilla Thunderbird

<Trainingsinhalt> XML und Datenbanken

MOC Wichtige Webanwendungstechnologien mit Microsoft Visual Studio 2005

NET.Compact Framework

ecall Anleitung Outlook Mobile Service (OMS)

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

KURZANLEITUNG CLOUD OBJECT STORAGE

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Anleitung auf SEITE 2

Inhaltsverzeichnis. 1 Hallo 13

Inhaltsverzeichnis. Teil I: Einführung 13. Teil II: Rezepte Inhalte 15 2 Danksagungen 16

ESB - Elektronischer Service Bericht

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Leseprobe. Walter Doberenz, Thomas Gewinnus. Visual C# Grundlagen und Profiwissen ISBN:

Inhaltsverzeichnis VII

Powermanager Server- Client- Installation

Erstellen von Mailboxen

Vor- und Nachteile speicheroptimierter Tabellen

ASP.NET 2.0 Crashkurs

Wie mache ich eine Datensicherung vom SQL Server Express

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Inhaltsverzeichnis. Vorwort. Basiswissen

Exchange Synchronisation AX 2012

a.i.o. control AIO GATEWAY Einrichtung

Brainloop Dox Häufig gestellte Fragen

Inhaltsverzeichnis. 1 Einleitung 11

Web-Erfassung von Veranstaltungen

EJB Beispiel. JEE Vorlesung 10. Ralf Gitzel

Jürgen Kotz Rouven Haban Simon Steckermeier. WCF, WPF und WF - Ein Überblick ADDISON-WESLEY. An imprint of Pearson Education

Installationsanleitung Webhost Windows Flex

Publizieren von Webs mit SmartFTP

PRAXISMANAGEMENT FÜR DIE ZAHNARZTPRAXIS, MKG - CHIRURGIE UND KLINIK PRO X DENT MKG ZMK UMSTELLUNG DER INSTALLATION AUF NETZLAUFWERK

Verbinden von IBM Informix mit Openoffice mittels JDBC

Modul 2: Automatisierung des Posteingangs - Regel- und Abwesenheits-Assistent

datenfabrik. Validieren von -Adressen 1

Einrichtung Secure-FTP

Konfigurationsmanagement mit Subversion, Ant und Maven

ZIMT-Dokumentation für Studierende Webmail-Oberfläche (Roundcube)

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Inhaltsverzeichnis. Einleitung... 17

Installationsanleitung SSL Zertifikat

Dokumentation von Ük Modul 302

Anbieter auf dem Foto-Marktplatz werden

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

Modul 7: Übungen zu - Tabellen als Mail oder im Web veröffentlichen

DocuWare unter Windows 7

Einführung... 3 MS Exchange Server MS Exchange Server 2007 Jounraling für Mailboxdatabase... 6 MS Exchange Server 2007 Journaling für

Clientkonfiguration für Hosted Exchange 2010

LimeSurvey -Anbindung

MOC 20487A: Entwicklung von Web- und Windows Azure- Diensten

Installationsanleitung Webhost Linux Flex

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS XML Programmierung - Grundlagen PHP Programmierung - Grundlagen...

Installation Microsoft SQL Server 2008 Express

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Flash, Network und Facebook. Steven Mohr

So nutzen Sie die HiDrive App mit Ihrem Android Smartphone

1 Konfigurationsanleitung Hosted Exchange

Kochtopf-Kurzanleitung

BSV Software Support Mobile Portal (SMP) Stand

mitp für Kids OpenOffice für Kids von Hans-Georg Schumann 1. Auflage

Sichern der persönlichen Daten auf einem Windows Computer

4D Server v12 64-bit Version BETA VERSION

Metadateneditoren für ArcGIS

Leitfaden zur Nutzung von binder CryptShare

Outlook einrichten über POP3

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Inhalt: Ihre persönliche Sedcard... 1 Login... 1 Passwort vergessen... 2 Profildaten bearbeiten... 3

Patrick A. Lorenz ASP. N ET. mit VB.NET. Kochbuch HANSER

Praxisbuch Wicket. Professionelle Web-2.0-Anwendungen entwickeln. von Michael Mosmann. 1. Auflage. Hanser München 2009

Anleitung Team-Space Einladung Annehmen. by DSwiss AG, Zurich, Switzerland V

quickterm Systemvoraussetzungen Version: 1.0

MOC 50466A: Windows Azure-Lösungen mit Microsoft Visual Studio 2010

> Mozilla Firefox 3.5

AUTOMATISCHE -ARCHIVIERUNG. 10/07/28 BMD Systemhaus GmbH, Steyr Vervielfältigung bedarf der ausdrücklichen Genehmigung durch BMD!

Microsoft Office Outlook OMS an SMSCreator anbinden

TYPO3 4.3 für Webautoren

Lokale Installation von DotNetNuke 4 ohne IIS

Möglichkeiten des Parallelbetriebs der VR-NetWorld Software Parallelbetrieb VR-NetWorld Software 4.4x und Version 5.0 ab der 2. Beta!

12. Dokumente Speichern und Drucken

Ihr Benutzerhandbuch für das IntelliWebs - Redaktionssystem

Transkript:

ASP.NET -- Grundlagen und Profiwissen Webserverprogrammierung und XML Web Services im.net-framework von Patrick A. Lorenz 2., aktualisierte Auflage ASP.NET -- Grundlagen und Profiwissen Lorenz schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Hanser München 2003 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 22552 7

CARL HANSER VERLAG Patrick A. Lorenz ASP.NET -- Grundlagen und Profiwissen Webserverprogrammierung und XML Web Services im.net-framework 3-446-22552-8 www.hanser.de

Inhalt 1 Einführung...25 1.1 Für wen dieses Buch geschrieben wurde...25 1.1.1 Was dieses Buch für Sie tun kann...26 1.1.2 Was dieses Buch von Ihnen erwartet...26 1.2 Konventionen...27 1.3 Systemvoraussetzungen und Installation...28 1.3.1 Internet Information Services...29 1.3.2 Visual Studio.NET...30 1.3.3.NET Framework SDK...32 1.4 Kopieren der mitgelieferten Beispiele...32 1.5 Hosting Ihrer Web-Applikationen...33 1.6 Website zum Buch...34 1.7 Kontakt zum Autoren...34 2 ASP.NET im Überblick...37 2.1 What in the hell is ASP.NET?...37 2.1.1 Was läuft bei ASP.NET eigentlich ab?...38 2.1.2 Stichwort Web-Applikation...40 2.2 Das.NET Framework...40 2.3 ASP.NET ist ein Teil von.net...41 2.4 Entwicklung und Werkzeuge...42 2.4.1 Notepad...42 2.4.2 Visual Studio.NET...43 2.4.3 SharpDevelop...44 2.5 Was ist neu in ASP.NET 1.1?...46 2.5.1 Die wichtigsten Änderungen...46 2.5.2.NET Compact Framework...47 2.5.3 ASP.NET Mobile Controls...47 2.5.4 ADO.NET...47

6 Inhalt 2.5.5 Dokumentation...48 2.5.6 Update-Installation von 1.0 auf 1.1...48 2.5.7 Visual Studio.NET 1.1?!...48 2.5.8 Blick in die Zukunft...49 3 Erste Schritte mit ASP.NET...53 3.1 Zuallererst: Die Web-Applikation...53 3.1.1 Eine neue Web-Applikation anlegen...53 3.2 Ihre erste ASP.NET-Seite...55 3.2.1 Aber bitte mit Dynamik!...56 3.2.2 Die Standardseite eines Verzeichnisses...59 3.3 Der Aufbau einer Seite...59 3.3.1 Direktive...59 3.3.2 Programmteil...61 3.3.3 HTML-Quelltext...63 3.3.4 Eine ASP.NET-Seite im Überblick...64 3.4 Die Seiten-Direktiven im Detail...66 3.4.1 @Page...66 3.4.2 @Import...69 3.4.3 @Implements...70 3.4.4 @Register...71 3.4.5 @Assembly...72 3.4.6 @Reference...72 3.5 Was passiert eigentlich beim Aufruf einer Seite?...74 3.6 Server Controls...74 3.7 User Controls...76 3.8 Datenbankzugriff...78 3.9 Code Behind...80 3.10 Umgang mit Fehlern...81 3.11 Session-Management...82 3.12 Sicherheit...84 3.13 XML Web Services...84 3.14 Konfiguration...85 3.15 Sprechen Sie ASP.NET?...85 4 Das ASP.NET-Objektmodell...89 4.1 Übersicht...89 4.2 Frage und Antwort...91 4.3 Request (HttpRequest)...91 4.3.1 QueryString-Parameter auslesen...92 4.3.2 Kopfzeilen und Server-Variablen abfragen...94

Inhalt 7 4.3.3 Informationen über den Client-Browser abfragen...96 4.3.4 Inhalt von Formularfeldern ermitteln...98 4.3.5 Cookies auslesen...99 4.3.6 Welche Sprache spricht der Benutzer?...100 4.3.7 Besucher identifizieren...102 4.3.8 Informationen über eine sichere Verbindung abfragen...104 4.3.9 Eine Client-Anforderung abspeichern...105 4.3.10 Arbeiten mit URLs...106 4.3.11 Dateien mit dem Browser uploaden...108 4.3.12 Objektübersicht...110 4.4 Response (HttpResponse)...114 4.4.1 Daten an den Client senden...114 4.4.2 Ausgaben zwischenspeichern...118 4.4.3 Cookies anlegen...119 4.4.4 Hallo, bist Du noch da?...122 4.4.5 Ich bin weg, such mich doch woanders: der Redirect...123 4.4.6 Individuelle Antworten über Header-Modifikationen...125 4.4.7 Inhaltsbewertung mit einem PICS-Label...128 4.4.8 Verbindung abbrechen...128 4.4.9 Der Protokollführer...129 4.4.10 Objektübersicht...129 4.5 Page (Page)...132 4.5.1 Ereignisse...134 4.5.2 Eigenschaften...135 4.5.3 Methoden...137 4.5.4 Geschützte Methoden...139 4.6 Session (HttpSessionState)...143 4.6.1 Zugriff auf Session-Variablen...144 4.6.2 Handelt es sich um eine neue Session?...147 4.6.3 Mit Cookie oder ohne...147 4.6.4 Die eindeutige Session-ID abfragen...148 4.6.5 Implizites Beenden einer Session...149 4.6.6 Explizites Beenden einer Session...150 4.6.7 Objektübersicht...151 4.7 Server (HttpServerUtility)...152 4.7.1 HTML-Tags ausgeben...153 4.7.2 QueryString-Parameter maskieren...154 4.7.3 Serverseitige Alternativen zum Redirect...155 4.7.4 Physikalisches Verzeichnis ermitteln...158 4.7.5 COM-Objekte instanziieren...158 4.7.6 Objektübersicht...159 4.8 User (IPrincipal)...160

8 Inhalt 4.8.1 Benutzeridentität abfragen...161 4.8.2 Gruppenzugehörigkeit abfragen...163 4.8.3 Objektübersicht...166 4.9 Application (HttpApplication)...166 4.9.1 Objektübersicht...166 4.9.2 Ereignisse behandeln...167 4.10 Application (HttpApplicationState)...170 4.10.1 Zugriff auf applikationsweite Variablen...171 4.10.2 Zugriffsschutz mit Lock und UnLock...173 4.10.3 Objektübersicht...174 4.11 Context (HttpContext)...175 4.11.1 Direkter Zugriff auf das Objekt...175 4.11.2 Objektübersicht...176 4.12 Zusammenfassung...178 5 HTML Server Controls...181 5.1 Die Basisklasse HtmlControl...186 5.2 Container-Controls...190 5.2.1 HtmlGenericControl...193 5.2.2 HtmlAnchor...194 5.2.3 HtmlForm...198 5.2.4 HtmlButton...201 5.2.5 HtmlSelect...202 5.2.6 HtmlTable...212 5.2.7 HtmlTextArea...218 5.3 HtmlImage...220 5.4 Controls dynamisch hinzufügen und entfernen...222 5.5 Individuelles Erscheinungsbild...226 5.5.1 Style Sheets...226 5.5.2 Attribute...230 5.6 Eingabe-Controls...232 5.6.1 HtmlInputText...233 5.6.2 HtmlInputButton...236 5.6.3 HtmlInputImage...237 5.6.4 HtmlInputCheckBox...240 5.6.5 HtmlInputRadioButton...243 5.6.6 HtmlInputFile...247 5.6.7 HtmlInputHidden...251 5.7 SmartNavigation...253 5.8 Den ViewState für eigene Daten benutzen...256 5.9 Eingabevalidierung mit Validation Controls...260

Inhalt 9 5.9.1 Wie Validation Controls arbeiten...260 5.9.2 Die verfügbaren Validation Controls...262 5.9.3 Die Klasse BaseValidator...263 5.9.4 RequiredFieldValidator...268 5.9.5 CompareValidator...269 5.9.6 RangeValidator...275 5.9.7 RegularExpressionValidator...276 5.9.8 CustomValidator...277 5.9.9 ValidationSummary...282 5.9.10 Validierung verhindern...287 5.9.11 Eigene Validation Controls erstellen...288 5.10 DataBinding...288 5.10.1 Mehrere Controls binden...290 6 Web Controls...297 6.1 Web Controls versus HTML Server Controls...297 6.1.1 Verschiedene Arten von Web Controls...298 6.2 Notation im HTML-Quellcode...298 6.3 AutoPostBack...299 6.4 Die Basisklasse WebControl...302 6.4.1 Größenangaben mit Units...303 6.4.2 Farbenlehre...305 6.4.3 Alles eine Frage der Verpackung: BorderStyle...306 6.4.4 Schönschrift: die Eigenschaft Font...307 6.4.5 Reihenfolge bestimmen: TabIndex...310 6.5 Standard Web Controls...311 6.5.1 Button...313 6.5.2 LinkButton...317 6.5.3 ImageButton...318 6.5.4 HyperLink...322 6.5.5 Image...325 6.5.6 Label...326 6.5.7 TextBox...328 6.5.8 CheckBox...333 6.5.9 RadioButton...335 6.5.10 Table...337 6.5.11 Panel...345 6.5.12 PlaceHolder...349 6.6 Datenaustausch zwischen mehreren Web-Formularen...351 6.6.1 Die Eigenschaft HttpContext.Handler...352 6.6.2 Änderungen bei Verwendung von Code Behind...354

10 Inhalt 6.6.3 Die Collection Items...356 6.6.4 QueryString- und Formdaten zurücksetzen...357 6.7 Reiche Web Controls...359 6.7.1 AdRotator...359 6.7.2 Calendar...363 6.7.3 XML...372 6.8 Listen-Controls...376 6.8.1 Die Basisklasse ListControl...376 6.8.2 Anlage der Listeneinträge...377 6.8.3 DropDownList...379 6.8.4 ListBox...381 6.8.5 CheckBoxList...383 6.8.6 RadioButtonList...386 6.9 Data-Controls und DataBinding...388 6.9.1 Übersicht der Data-Controls...389 6.9.2 Repeater...389 6.9.3 Datenbindung in der Übersicht...396 6.9.4 Die mitgelieferte Beispieldatenbank...399 6.9.5 Die Basisklasse BaseDataList...400 6.9.6 DataList...404 6.9.7 DataGrid...420 7 Datenbanken & Co...449 7.1 Grundlagen...449 7.1.1 Verbindungsloser Zugriff...449 7.1.2 Das DataSet-Objekt...450 7.1.3 XML als zentrales Element...450 7.1.4 SQL...451 7.1.5 Einbindung in ASP.NET...451 7.2 ADO.NET versus ADO...454 7.3 Einfacher Lesezugriff mit dem DataReader...454 7.3.1 Der Verwalter Connection...455 7.3.2 Der Kommandant Command...458 7.3.3 Der Dienstherr DataReader...463 7.4 Die Klasse DataSet...468 7.4.1 Ein DataSet füllen mit dem DataAdapter...469 7.4.2 Eine Tabelle als Instanz der Klasse DataTable...471 7.4.3 Relationen zwischen Tabellen...473 7.4.4 Spalten dynamisch erstellen...476 7.4.5 Ansichtssache: Die Klasse DataView...480 7.5 Daten ändern und neu anlegen...487

Inhalt 11 7.5.1 Manuelle Datenaktualisierung...487 7.5.2 Manuelle Datenaktualisierung mit dem DataSet...491 7.5.3 Automatische Datenaktualisierung mit dem DataSet...494 7.5.4 Änderungen nachträglich übernehmen...496 7.5.5 Bestehende Datensätze löschen...500 7.5.6 Neue Datensätze hinzufügen...502 7.5.7 Änderungen nachvollziehen...508 7.5.8 Transaktionen...508 7.6 Die ADO.NET-Objekte unter der Lupe...511 7.6.1 DataSet...512 7.6.2 DataTable...513 7.6.3 DataColumn...515 7.6.4 DataRow...516 7.6.5 DataView...517 7.7 Oder doch lieber ADO?...518 8 Code Behind...521 8.1 Code Behind mit ASP.NET...521 8.1.1 Wie funktioniert Code Behind?...523 8.1.2 Server Controls verwenden...525 8.2 Code Behind-Klassen kompilieren...528 8.3 Visual Studio.NET und Code Behind...529 8.4 Zentrale Code Behind-Klassen...530 8.4.1 Seitenvorlagen mit Code Behind...531 8.4.2 Komplexe Web-Formulare...534 9 Fehlermanagement und Debugging...543 9.1 Fehlerbehandlung mit C#...543 9.1.1 Was ist eine Ausnahme?...544 9.1.2 Das try...catch...finally-konstrukt...545 9.1.3 Die Klasse Exception...548 9.1.4 Ausnahmen auslösen...551 9.1.5 Ausnahmen (kontrolliert) weiterreichen...553 9.1.6 Eigene Ausnahmen definieren...555 9.1.7 Zusammenfassung...558 9.2 Fehlerbehandlung in ASP.NET Web-Applikationen...558 9.2.1 Debugging...558 9.2.2 Tracing...562 9.2.3 Unbehandelte Ausnahmen einer Seite abfangen...571 9.2.4 Unbehandelte Ausnahmen einer Applikation abfangen...572 9.2.5 Individuelle Fehlerseiten integrieren...573

12 Inhalt 9.3 Ereignisse protokollieren...575 10 State-Management...581 10.1 Session-State...582 10.1.1 Besucher identifizieren...582 10.1.2 Datenablage...584 10.1.3 Speichern von einfachen Daten im Session-Objekt...586 10.1.4 Ablage von komplexen Daten...589 10.1.5 Feste Ablage von Feldern mit Session-Scope...591 10.1.6 Session-Ereignisse nutzen...597 10.1.7 Objektübersicht...599 10.1.8 Konfiguration...599 10.2 Application-State...602 10.2.1 Speichern von applikationsweiten Daten...603 10.2.2 Feste Ablage von Feldern mit Application-Scope...605 10.2.3 Applikationsweite Ereignisse...608 10.2.4 Caching...609 10.3 ViewState...610 11 Sicherheit...613 11.1 Was ist schon sicher?...613 11.1.1 Authentication...613 11.1.2 Authorization...615 11.1.3 Impersonation...615 11.2 Windows Authentication...616 11.2.1 Vorbereitung I: Die IIS-Konfiguration...618 11.2.2 Vorbereitung II: Die ASP.NET-Konfiguration...619 11.2.3 Jetzt kann s losgehen...620 11.2.4 Ein einfaches Beispiel...622 11.2.5 Passwort ermitteln...624 11.2.6 Gruppenmitgliedschaft überprüfen...626 11.2.7 Impersonation...631 11.3 Forms Authentication...637 11.3.1 Vorbereitung I: Die IIS-Konfiguration...638 11.3.2 Vorbereitung II: Die ASP.NET-Konfiguration...639 11.3.3 Forms Authentication im Detail...640 11.3.4 Ein einfaches Beispiel...643 11.3.5 Passwörter verschlüsselt hinterlegen...646 11.3.6 Ich will Kekse: Cookies überprüfen...648 11.3.7 Eine dauerhafte Anmeldung realisieren...651 11.3.8 Der Sicherheit halber: Logout...652

Inhalt 13 11.3.9 Individuelle Überprüfung der Benutzerdaten...653 11.3.10 Weitere Konfigurationsmöglichkeiten...656 11.3.11 Forms und Windows Authentication...658 11.3.12 Impersonation...661 11.4 Passport Authentication...664 11.4.1 Die Technik...665 11.4.2 Vorbereitung: Die ASP.NET-Konfiguration...666 11.4.3 Zugriff auf die Daten des Benutzers...667 11.4.4 Weitere Informationen...667 11.5 Authorization...668 11.5.1 File Authorization...668 11.5.2 URL Authorization...668 11.5.3 Das <location>-element...670 11.6 Weitere sicherheitsrelevante Konfigurationen...671 11.6.1 Der ASP.NET-Account...672 11.6.2 Die Sicherheitsstufe...672 11.7 Personalization...673 11.7.1 Personalization mit ASP.NET...673 11.7.2 Ein einfaches Beispiel...674 12 Arbeiten mit den Klassen des.net Framework...679 12.1 System.Web.Mail Emails versenden...679 12.1.1 Die Klassen im Überblick...679 12.1.2 Eine einfache Email senden...681 12.1.3 Windows 2000 SMTP-Service versus the whole world...683 12.1.4 Mehrere Empfänger adressieren...685 12.1.5 Dateien anhängen...687 12.1.6 HTML-Emails erzeugen...689 12.2 System.IO das Dateisystem...692 12.2.1 Der Namespace System.IO im Überblick...692 12.2.2 Das Dateisystem und ASP.NET...693 12.2.3 Zugriff auf Laufwerke und Verzeichnisse...693 12.2.4 Zugriff auf Dateien...701 12.2.5 Dateien lesen und schreiben...706 12.2.6 Die Hilfsklasse Path...713 12.3 System.Net Zugriff auf Netzwerkfunktionen...714 12.3.1 DNS-Informationen abfragen...714 12.3.2 Web-Anforderungen durchführen...716 12.4 System.Drawing Grafiken und Co...717 12.4.1 Übersicht...718 12.4.2 Brush versus Pen...720

14 Inhalt 12.4.3 Pixelbilder mit der Klasse Bitmap...720 12.4.4 Zeichnen mit der Klasse Graphics...724 12.4.5 Praxisbeispiel I: ein grafischer Counter...728 12.4.6 Praxisbeispiel II: Dynamisch Bild-Thumbnails erzeugen...735 12.5 System.Math Mathematische Berechnungen...735 12.6 System.Text.RegularExpressions reguläre Ausdrücke...737 12.6.1 Der Aufbau von regulären Ausdrücken...738 12.6.2 Die Klasse Regex...742 12.6.3 Die Regex-Optionen...750 12.6.4 Erweiterte Parsing-Möglichkeiten...751 12.7 System.Threading Multithreading leicht gemacht...752 12.8 System.Reflections Meta-Daten und mehr...757 12.8.1 Eine Eigenschaft dynamisch abfragen...757 12.8.2 Eine Methode dynamisch aufrufen...758 12.8.3 Eine Methode mit Parametern dynamisch aufrufen...759 12.8.4 Alle Eigenschaften und Methoden auflisten...760 12.9 System.CodeDom Programme dynamisch erstellen...761 13 Eigene Web Controls erstellen...767 13.1 User Controls...767 13.1.1 Die @Control-Direktive...769 13.1.2 Eigenschaften implementieren...771 13.1.3 Mitglieder der Basisklasse UserControl...773 13.1.4 Web Controls in User Controls verwenden...775 13.1.5 Auf Ereignisse reagieren...779 13.1.6 Eigene Ereignisse implementieren...781 13.1.7 Daten im ViewState ablegen...784 13.1.8 User Controls und Code Behind...788 13.1.9 User Controls dynamisch laden...790 13.1.10 User Controls im Praxiseinsatz...794 13.2 Custom Controls...794 13.2.1 Ein einfaches Beispiel...795 13.2.2 Die Klasse HtmlTextWriter...798 13.2.3 Arbeiten mit Unter-Controls...801 13.2.4 Bestehende Controls erweitern...812 13.2.5 Noch mehr Möglichkeiten mit Custom Controls...816 14 Web-Applikationen für mobile Geräte...821 14.1 Voraussetzungen...822 14.1.1 Microsoft Mobile Explorer...822 14.2 Übersicht der Mobile Controls...824

Inhalt 15 14.3 Ihre erste mobile Web-Applikation...826 14.3.1 Was ist eine Form?...827 14.3.2 Ein kleines Beispiel...828 14.3.3 Ereignisse und Programmcode...829 14.3.4 Inline-Code...830 14.3.5 Session-Management...831 14.4 Menüs und mehrere Seiten...831 14.4.1 Das List-Control...831 14.4.2 Auch ohne Datenbindung...834 14.5 Arbeiten mit Eingabeformularen...834 14.5.1 ViewState...835 14.5.2 Validation Controls...835 14.5.3 Ein kleines Beispiel...835 14.6 Einen Telefonanruf initiieren...837 14.7 Mehr zum Thema...838 15 Caching und andere Optimierungen...841 15.1 Regeln für optimierte Web-Applikationen...842 15.1.1 Arbeiten mit Sessions...842 15.1.2 Arbeiten mit Server Controls...843 15.1.3 Arbeiten mit dem ViewState...844 15.1.4 Round Trips zum Server...845 15.1.5 Programmseitige Textausgaben...848 15.1.6 Arbeiten mit Ausnahmen...849 15.1.7 Arbeiten mit COM-Komponenten...850 15.1.8 Arbeiten mit Datenbanken...850 15.1.9 Debugging...852 15.2 Caching...853 15.2.1 Cachen von ganzen Seiten...853 15.2.2 Cachen von Seitenbereichen...861 15.2.3 Cachen von Objekten...865 16 XML Web Services...881 16.1 Grundlagen...881 16.1.1 Was ist eigentlich ein XML Web Service?...882 16.2 XML Web Services mit ASP.NET entwickeln...882 16.2.1 Ein einfacher XML Web Service...883 16.2.2 Die @WebService-Direktive...885 16.2.3 Die Basisklasse WebService...887 16.2.4 Das WebService-Attribut...888 16.2.5 Das WebMethod-Attribut...888

16 Inhalt 16.2.6 Web Methoden mit Parameter verwenden...890 16.2.7 XML Web Services kompilieren...892 16.3 XML Web Services nutzen...893 16.3.1 Proxy-Klasse manuell erstellen...894 16.3.2 Proxy-Klasse mit Visual Studio.NET erstellen...897 16.3.3 Der XML Web Service Calculator im Einsatz...899 16.4 Erweiterte Möglichkeiten nutzen...901 16.4.1 Daten im Session-State abspeichern...901 16.4.2 Daten im Application-State abspeichern...903 16.4.3 Komplexe Datentypen transferieren...903 16.4.4 Transaktionen...905 16.4.5 Zugriff auf Web Services sichern...907 17 Web-Applikationen konfigurieren...911 17.1 Grundlagen...911 17.1.1 Aufbau der web.config...912 17.1.2 Das <location>-element...913 17.1.3 Das <processmodel>-element...913 17.2 Die Konfigurationseinstellungen in der Übersicht...915 17.3 Eigene Konfigurationseinstellungen ablegen...916 18 Server-Erweiterungen entwickeln...921 18.1 HttpHandler...921 18.1.1 Konfiguration...922 18.1.2 Implementierung eines eigenen HttpHandlers...924 18.1.3 Beispiel: Dynamisch Bild-Thumbnails erzeugen...925 18.2 HttpModule...935 18.2.1 Konfiguration...935 18.2.2 Implementierung eines eigenen HttpModule...936 18.2.3 Beispiel...938 19 Migration von ASP nach ASP.NET...945 19.1 Strukturelle Unterschiede...945 19.1.1 Dateiendungen...946 19.2 Wahl der Sprache...946 19.2.1 Code-Blöcke...947 19.2.2 Direktiven...950 19.3 Sprachunterschiede...951 19.3.1 Option Explicit...951 19.3.2 Datentyp Variant...951

Inhalt 17 19.3.3 Deklaration von Variablen...952 19.3.4 Explizite Datentypkonvertierung...954 19.3.5 Klammerung...956 19.3.6 Let und Set...956 19.3.7 Default-Eigenschaften...957 19.3.8 Implementierung von Eigenschaften...958 19.3.9 if-konstrukt...958 19.3.10 Logisches und/oder...959 19.3.11 Die While...Wend-Schleife...959 19.3.12 Arbeiten mit Zeichenketten...960 19.3.13 FileSystemObject...961 19.3.14 Dictionary...961 19.3.15 Übersicht geänderter Programmierelemente...961 19.4 Komponentenmigration...963 19.4.1 Late Binding und Early Binding...963 19.4.2 Type Library Importer (tlbimp.exe)...964 19.5 Datenbankzugriff...964 19.5.1 Verwendung von ADO...965 19.5.2 Verwendung von ADO.NET...966 19.6 Vorbereitung von ASP-Applikationen...966 20 Fragen, Fragen, Fragen...971 20.1 Inhaltsverzeichnis ASP.NET Kochbuch...972 Index... 983