Suchen und Finden
Service
ASP.NET 3.5 - Konzepte und Techniken zur Programmierung von Websites
Matthias Fischer, Jörg Krause
Verlag Carl Hanser Fachbuchverlag, 2009
ISBN 9783446421356 , 1080 Seiten
Format PDF, OL
Kopierschutz Wasserzeichen
Schnellübersicht
6
Über die Autoren
8
Inhaltsverzeichnis
10
1 Über dieses Buch
28
1.1 Intention
28
1.2 Das Konzept hinter diesem Buch
29
1.2.1 Übersicht über die Teile
29
1.2.2 Die Kapitel
29
1.2.3 Was dieses Buch nicht leistet
29
1.3 Die Zielgruppe für die dieses Buch ist
30
1.4 Wie dieses Buch zu lesen ist
31
1.4.1 Verwendete Programmiersprache
31
1.4.2 Hinweiselemente und Formatierungen
31
1.4.3 Umgang mit dem Index
32
1.5 Anmerkungen der Autoren
32
1.5.1 Anmerkungen
32
TEIL I Grundlagen
34
2 ASP.NET und das Framework
36
2.1 Was verbirgt sich hinter dem Begriff .NET?
36
2.1.1 Das .NET-Framework 3.5
37
2.1.2 Compiler und Interpreter
37
2.1.3 Sprachunabhängigkeit dank MSIL-Code
38
2.1.4 Common Type System
38
2.2 Überblick über das Framework
39
2.2.1 Die Laufzeitumgebung Common Language Runtime
40
2.2.2 Die Foundations
40
2.3 Programmierprinzipien
42
2.3.1 Basiselemente einer Applikation: Web Forms
42
2.3.2 Spezielle Verzeichnisse
44
2.3.3 Eingebetteter Code – Code Inline
44
2.3.4 Hinterlegter Code – Code Behind
45
2.4 Hinweise zum Stil – Codekonventionen
52
2.4.1 Schreibweise von Namen im Code
52
2.4.2 Hinweise zur Benennung von Standardtypen
53
2.4.3 Hinweise für Web-Programmierer
55
3 Die Werkzeuge des Entwicklers
58
3.1 Visual Studio
58
3.1.1 Versionen
58
3.1.2 Projekttypen
59
3.1.3 Anlegen und Integrieren vorhandener Projekte
63
3.1.4 Umgang mit Datenbanken in Visual Studio
65
3.2 Die Expression Produkte
67
3.2.1 Expression Web und Expression Studio
67
3.2.2 Expression Subscription
67
3.3 Die Kommandozeilenwerkzeuge
68
3.3.1 Die Werkzeuge des Frameworks
68
3.3.2 Werkzeuge speziell für ASP.NET
70
4 Protokolle und Sprachen
72
4.1 Das Referenzmodell
72
4.2 Die Internet-Protokollfamilie
73
4.2.1 Wichtige Protokolle der Internet Protocol Suite
75
4.3 Die Hochsprachenprotokolle
78
4.3.1 File Transfer Protocol (FTP)
78
4.3.2 Network News Transfer Protocol (NNTP)
79
4.3.3 Hypertext Transfer Protocol (HTTP)
79
4.3.4 Wie dynamische Webseiten entstehen
82
4.4 Die Bausteine einer Webseite
84
4.5 XML und XSLT
86
4.5.1 XML-Grundlagen
87
4.5.2 Die Grammatik eines XML-Dokuments definieren
90
4.5.3 XPath
94
4.5.4 XSLT
99
4.6 Hilfsklassen des .NET-Frameworks
104
4.6.1 Definition Uniform Resource Identifier (URI)
104
4.6.2 URI-Unterstützung im Framework
106
5 C# – Programmiersprache des Web
110
5.1 Notation und Abarbeiten
111
5.1.1 Objektschreibweise
112
5.1.2 Abarbeitung von Code in ASP.NET
112
5.1.3 Umgang mit Compiler-Warnungen
113
5.2 Namensräume
114
5.2.1 Namensräume in ASP.NET-Projekten
115
5.2.2 Global Namespace Qualifier
115
5.3 Variablen und Datentypen
116
5.3.1 Variablen
116
5.3.2 Einführung in das Common Type System
116
5.3.3 Das Typkonzept genauer betrachtet
117
5.3.4 Feinheiten bei der Schreibweise und Typumwandlung
118
5.3.5 Nullbare Typen
122
5.4 Kommentare, Konstanten, Operatoren
122
5.4.1 Kommentare
122
5.4.2 Konstanten
123
5.4.3 Operatoren
124
5.5 Anweisungen
127
5.5.1 Blöcke
127
5.5.2 Verzweigungen
128
5.5.3 Schleifen
133
5.6 Objektorientierte Programmierung
138
5.6.1 Was ist ein Objekt?
138
5.6.2 Eigenschaften und Methoden
139
5.6.3 Klassen definieren
140
5.6.4 Sichtbereiche mit Zugriffsmodifizierern einstellen
140
5.6.5 Standardmodifizierer
142
5.6.6 Zugriffsmodifizierung der Mitglieder eines Typs
142
5.6.7 Eigenschaften deklarieren
142
5.6.8 Objekte erzeugen und Klassen verwenden
146
5.6.9 Typen
164
5.7 Arrays und Kollektionen
172
5.7.1 Arrays und Kollektionen und Zugriff mit Indexer und Iterator
172
5.7.2 Generische Klassen
180
5.7.3 Strukturen
181
5.7.4 Aufzählungen (enum)
183
5.8 Fehlerbehandlung, Ausnahmen und Ereignisse
185
5.8.1 Laufzeitfehler mit Ausnahmen abfangen
186
5.8.2 Die Sprachanweisung try-catch-finally
186
5.8.3 Nutzung einer Ausnahmekette in eigenen Applikationen
188
5.9 Verwaltete Funktionszeiger
193
5.9.1 Ereignisse und wie man sie definiert
193
5.9.2 Delegate
196
5.9.3 Anonyme Methoden
196
6 Konfiguration des Projekts
198
6.1 Konfiguration von Applikationen: web.config
198
6.1.1 Prinzipieller Umgang mit Konfigurationsdateien
200
6.2 Konfiguration des Systems: machine.config
201
6.2.1 Optionen des Compilers
201
6.2.2 Den Arbeitsprozess konfigurieren
203
6.2.3 Besondere Aufgaben für den Arbeitsprozess
206
6.3 Zugriff auf die Konfiguration
208
6.3.1 Anwendung der Klasse WebConfigurationManager
208
6.3.2 Schreibender Zugriff
210
6.4 Eigene Konfigurationsabschnitte
212
6.4.1 Aufbau des Konfigurationsabschnitts der web.config
212
6.4.2 Definition eines einfachen Konfigurationsabschnitts
214
7 Arbeitsweise und Funktion
220
7.1 ASP.NET intern
220
7.1.1 Die Architektur der Anforderungsverarbeitung
221
7.1.2 Was ASP.NET wirklich ist
221
7.1.3 Die Lebensdauer einer Anforderung
222
7.1.4 Wie die Anforderung verarbeitet wird
226
7.1.5 Die Laufzeitumgebung
228
7.1.6 HttpContext und HttpApplication
234
7.1.7 Der Weg durch die ASP.NET-Pipeline
238
7.1.8 Module und Handler
239
7.2 Die Lebenszyklen
240
7.2.1 Die integrierte Pipeline der IIS7
240
7.2.2 Die Verarbeitungspipeline der Applikation
241
7.2.3 Der Lebenszyklus der Seite
244
7.2.4 Die Ereignisse des Lebenszyklus der Seite
245
7.2.5 Bemerkungen zum Lebenszyklus der Steuerelemente
246
7.3 Der ViewState – Status der Steuerelemente
249
7.3.1 Warum Sie den ViewState verstehen sollten
249
7.3.2 Die wahre Rolle des ViewState
259
7.3.3 Probleme mit dem ViewState
261
7.4 Prozesse und Threads
269
7.4.1 Die Verwaltung des Arbeitsprozesses
270
7.4.2 Informationen über den Arbeitsprozess
273
7.4.3 Informationen über die Applikationsdomäne
275
7.4.4 Threads verstehen und benutzen
279
7.4.5 Die Konfiguration des ThreadPools
280
7.4.6 Optimierung typischer Aufgaben
282
7.4.7 Installation eines Performance Counters
283
7.4.8 Threads und Asynchrone Operationen
286
TEIL II Konzepte
290
8 Applikationen erstellen
292
8.1 Die Welt der Standardobjekte
292
8.1.1 Die Standardobjekte
293
8.2 Daten senden und empfangen
295
8.2.1 Den Datenfluss steuern
295
8.2.2 Die Standardmethoden der Datenübertragung
298
8.2.3 Header erzeugen und analysieren
301
8.2.4 Servervariablen
301
8.2.5 Den Inhaltstyp bestimmen
303
8.3 Sitzungen (Sessions)
304
8.3.1 Grundlagen
305
8.3.2 Ablageart von sitzungsgebundenen Daten
306
8.3.3 Ablageform der sitzungsgebundenen Daten
307
8.3.4 An Sitzungen gebundene Ereignisse
309
8.3.5 Umgang mit Sitzungs-Cookies
309
8.3.6 Konfiguration des Sitzungsmanagements
309
8.3.7 Sitzungsvariablen verwenden
311
8.4 Cookies
313
8.4.1 Cookies als Informationsspeicher
313
8.4.2 Cookies praktisch verwenden
315
8.5 Applikationsmanagement
319
8.5.1 Einführung in das Applikationsereignismodell
319
8.5.2 Die Datenspeicherung: Applikationsvariablen
322
8.5.3 Die Datei global.asax
324
9 Programmierung von Seiten
326
9.1 Die Direktiven der Seiten
326
9.1.1 Verfügbare Direktiven
327
9.1.2 Die Direktive @Page
327
9.1.3 Die Direktive @Import
331
9.1.4 Die Direktive @Register
331
9.1.5 Die Direktive @Implements
332
9.1.6 Die Direktive @MasterType
332
9.1.7 Die Direktive @PreviousPageType
333
9.1.8 Die Direktive @OutputCache
333
9.2 Aufbau der Seite und die Klasse Page
334
9.2.1 Aufbau der Seite
334
9.2.2 Code-Blöcke
334
9.2.3 Code-Render-Blöcke
335
9.2.4 Kommentare
336
9.2.5 Ausdrücke
336
9.2.6 Einbindung externer Objekte
338
9.2.7 Die #Include-Direktive
339
9.3 Das Zurücksenden der Seite – Der PostBack
339
9.3.1 Die Natur der Webformulare
339
9.4 Seitenübergang
343
9.4.1 Übergabe der Programmsteuerung
344
9.4.2 Kontext-Handler und Seitenreferenzierung
347
9.5 Asynchrone Seiten
350
9.5.1 Den richtigen Handler für die Seite wählen
350
9.5.2 Asynchrone Aufgaben
356
10 Die Steuerelemente
360
10.1 Das Entwurfszeitverhalten
361
10.1.1 IntelliSense
361
10.1.2 PropertyGrid
362
10.1.3 Smart Tags
362
10.2 Html-Steuerelemente
362
10.2.1 Einführung in die Steuerelemente-Welt
363
10.2.2 Prinzipieller Umgang mit HTML Server-Steuerelementen
364
10.2.3 Gemeinsame Eigenschaften und Methoden
371
10.2.4 Basisoperationen mit Steuerelementen
372
10.2.5 Ereignisse der Steuerelemente verarbeiten
374
10.2.6 Gestalterische Elemente
378
10.2.7 Dateien per HTTP hochladen (Upload)
380
10.3 Webserver-Steuerelemente
383
10.3.1 Übersicht über die Webserver-Steuerelemente
384
10.3.2 Einsatzprinzipien und Basiseigenschaften
386
10.3.3 Text auf der Seite steuern
390
10.3.4 Texteingabefelder erzeugen und auswerten
392
10.3.5 Schaltflächen erzeugen und verwenden
395
10.3.6 Listen-Steuerelemente
398
10.4 Komplexe Steuerelemente
405
10.4.1 Kalender anzeigen
405
10.4.2 AdRotator
411
10.4.3 XML anzeigen
412
10.4.4 TreeView
412
10.5 WebParts
413
10.5.1 Die Natur des WebParts
413
10.5.2 Funktionsweise
414
10.5.3 Erstellen von WebParts
418
10.5.4 Personalisieren von WebParts
419
10.5.5 Erweiterung des WebPart-Personalisierungsproviders
420
10.6 Steuerelemente für mobile Geräte
430
10.6.1 Arbeitsweise mit dem Emulator
431
10.6.2 Anmerkungen über Webseiten für mobile Geräte
434
10.6.3 Aufbau einer Seite für mobile Geräte
435
10.6.4 Prinzipielle Arbeitsweise mobiler Steuerelemente
436
10.6.5 Adapter zur Anpassung an Gerätetypen
440
10.7 Benutzersteuerelemente
440
10.7.1 Grundlagen der Benutzersteuerelemente
441
10.7.2 Wie Benutzersteuerelemente entstehen
441
10.7.3 Programmierung von Benutzersteuerelementen
443
10.7.4 Techniken der Benutzersteuerelemente
447
11 Datenbindung und Validierung
456
11.1 Die Grundlagen der Datenbindung
456
11.1.1 Die Syntax der Datenbindung
457
11.1.2 Datenbindung in zwei Wegen
458
11.1.3 Datenbindung von XML-Datenquellen
458
11.2 Die Bindungssyntax
459
11.3 Datengebundene Steuerelemente
460
11.3.1 Das Steuerelement Repeater
460
11.3.2 Das Steuerelement DataList
461
11.3.3 Das Steuerelement GridView
461
11.3.4 Das Steuerelement FormView
468
11.3.5 Das Steuerelement DetailsView
468
11.4 Datenbindung in Vorlagen
468
11.4.1 Schreibweise der Vorlagen
468
11.4.2 Die Datenbindung im Code
469
11.4.3 Die Bindung komplexer Objekte
470
11.4.4 Vorbereiten einer individuellen Datenquelle
471
11.4.5 Automatische Listen mit DataList
473
11.4.6 Umgang mit dem Anzeigestatus und zwei Alternativen dazu
481
11.5 Asynchrone Datenbindung
484
11.6 Einführung in die Validierung
485
11.6.1 Die Validierung im Detail
486
11.6.2 Validierung und HTML
486
11.6.3 Validierung auf der Serverseite
486
11.6.4 Die API der Seitenvalidierung
487
11.7 Wichtige Kontroll-Steuerelemente
489
11.7.1 Das Vergleichs-Steuerelement
489
11.7.2 Das Bereichskontroll-Steuerelement
491
11.7.3 Das Regulärer Ausdruck-Steuerelement
491
11.7.4 Selbstdefinierte Kontrollsteuerelemente
498
12 Navigationmodelle
504
12.1 Konzepte für die Navigation
504
12.1.1 Die Steuerdatei web.sitemap
504
12.2 Steuerelemente für die Navigation
507
12.2.1 Das Menu-Steuerelement
507
12.2.2 Pfade mit SiteMapPath darstellen
510
12.3 Der Sitemap-Provider
511
12.4 Entwicklung eines eigenen SiteMap-Providers
512
12.4.1 Vorbereitende Schritte
512
12.4.2 SQL basierte Navigation
516
12.5 Steuerung virtueller Pfade
520
12.5.1 Den VirtualPathProvider verwenden
520
12.5.2 Den VirtualPathProvider registrieren
521
12.5.3 Voraussetzungen für den VirtualPathProvider
522
12.5.4 Hilfreiche Klassen für Pfad- und Dateioperationen
523
12.5.5 Einen VirtualPathProvider selbst entwickeln
524
12.5.6 Probleme und Grenzen des VirtualPathProvider
538
13 Datenbanken und Datenzugriff
540
13.1 Datenzugriff mit ADO.NET
540
13.1.1 Prinzip der Arbeit mit ADO.NET
540
13.1.2 Die Architektur von ADO.NET
542
13.1.3 Verbindung zu einer Datenbank aufbauen
545
13.1.4 Verbindungsorientierte Ereignisse
548
13.1.5 Asynchrone Befehlsausführung
550
13.1.6 SQL-Befehle an die Datenbank senden
552
13.1.7 Datensätze lesen
554
13.1.8 Typsicherer Zugriff auf Daten
559
13.1.9 Behandlung komplexer Abfragen mit DataReader
560
13.1.10Detaillierte Informationen über eine Tabelle ermitteln
561
13.1.11Gespeicherte Prozeduren verwenden
562
13.2 Prinzip der Datenquellen
565
13.2.1 Datenquellenkomponenten
565
13.2.2 IDataSource basierte Datenquellen
566
13.3 Datenverwaltung mit ADO.NET
567
13.3.1 Datenverwaltung im DataSet
568
13.3.2 Die Struktur einer Tabelle im DataSet bestimmen
574
13.3.3 Das DataSet und XML
575
13.3.4 Die Schnittstelle IDataReader
579
13.3.5 Der Datenadapter
580
13.3.6 Aktualisieren einer Datenbank mit CommandBuilder
588
13.4 XML und unterstützende Formate
600
13.4.1 XML in .NET
600
13.4.2 XML mit XSLT transformieren
607
13.5 LINQ – Language Integrated Query
617
13.5.1 Sprachliche Grundlagen
617
13.5.2 Aggregatoren und Selektoren
622
13.5.3 LINQ-to-Objects
623
13.5.4 LINQ-to-XML
626
13.5.5 LINQ-to-SQL
630
13.6 Entity Framework
639
13.6.1 Grundlagen
639
13.6.2 Konzepte
640
13.6.3 Umstieg von LINQ auf das Entity Framework
642
13.6.4 Erzeugen des Entitäten-Datenmodells (EDM)
642
13.6.5 Konzeptionelles Modell ohne Assistent erstellen
646
14 Globalisierung und Lokalisierung
650
14.1 Grundlagen der Globalisierung
650
14.1.1 Klassen für Globalisierungseinstellungen
651
14.2 Mehrsprachige Seiten programmieren
652
14.2.1 Lokalisierungsfunktionen in ASP.NET
653
14.2.2 Prinzip der Sprachcodes
654
14.2.3 Einstellungen des Browsers ermitteln
655
14.2.4 Einrichten der Kultur für die aktuelle Sitzung
658
14.2.5 Kulturspezifische Informationen für Kalender
660
14.3 Ressourcen für die Lokalisierung
662
14.3.1 Ressourcen-Dateien als Basis
662
14.3.2 Verwendung von binären Ressourcen-Dateien
668
14.3.3 Ressourcen in Assemblies speichern
671
14.4 Praxistipps zur Lokalisierung
672
14.4.1 Bereitstellung der Lokalisierungsfunktionen
673
14.4.2 Konfiguration in web.config
674
TEIL III Techniken
676
15 Master-Seiten und Themes
678
15.1 Prinzip der Master-Seiten
678
15.2 Verwenden von Master-Seiten
680
15.2.1 Eine Master-Seite erstellen
680
15.2.2 Verwendung der Master-Seite
681
15.2.3 Konfiguration mit der Master-Direktive
682
15.3 Das Design der Seiten (Theme)
683
15.3.1 Skins
683
16 Asynchrone Programmierung
686
16.1 Applikationen für das Web 2.0
686
16.2 Herkunft und Natur der AJAX-Technologie
688
16.2.1 Die Architektur von Ajax
688
16.2.2 Ajax ohne Verwendung eines Frameworks
689
16.3 AJAX – Microsofts Ajax-Implementierung
692
16.3.1 Der ScriptManager
692
16.3.2 AJAX debuggen
692
16.3.3 Skript-Referenzen hinzufügen
693
16.3.4 Referenzen zu Webdiensten hinzufügen
693
16.3.5 Umgang mit Master-Seiten
694
16.3.6 Das UpdatePanel-Steuerelement
694
16.3.7 Das UpdateProgress-Steuerelement
695
16.3.8 Das Timer-Steuerelement
698
16.4 Die Ajax-Client-Bibliothek
699
16.4.1 Umgang mit der Client-Bibliothek
700
16.4.2 Das Typsystem
701
16.4.3 Debuggen mit der Client-Bibliothek
714
17 Dynamische Daten
716
17.1 Grundlagen dynamischer Daten
716
17.1.1 Funktionen
716
17.1.2 Hintergrund
717
17.2 Technische Grundlagen
718
17.2.1 OR-Mapping
718
17.2.2 URL-Routing
719
17.3 Vorlagen für Dynamische Daten
720
17.3.1 Seitenvorlagen
720
17.3.2 Feldvorlagen
721
17.4 Steuerelemente für dynamische Daten
724
17.5 Anwendungsbeispiel
727
17.5.1 Erstellen einer datengetriebenen Webanwendung
727
17.5.2 Erweitern und Anpassen der Anwendung
731
18 Model View Controller
744
18.1 Das MVC-Konzept
744
18.1.1 Grundlagen
744
18.1.2 Das MVC-Entwurfsmuster
745
18.2 Implementierung in ASP.NET
746
18.3 URL-Routing
747
18.3.1 Das Standardverhalten des Routing
747
18.3.2 Funktionsweise
748
18.3.3 MVC und der IIS6
749
18.4 MVC praktisch einsetzen
751
18.4.1 Ein Einführungsbeispiel
752
18.4.2 Erweiterung der Beispielanwendung
755
19 ASMX- und WCF-Webdienste
764
19.1 Einführung in Webdienste
764
19.1.1 Grundlagen der Webdienste
764
19.1.2 Die Protokolle der Webdienste
765
19.2 ASMX-Webdienste
772
19.2.1 Webdienste konsumieren
772
19.2.2 Eigene Webdienste anbieten
773
19.3 WCF-Webdienste
778
19.3.1 Endpunkte: Adresse, Bindung, Vertrag
779
19.3.2 Die WCF-Bindungen
783
19.3.3 Einführung in Dienstverträge
785
19.3.4 Datenverträge
788
19.3.5 WCF-Webdienste für ASP.NET-AJAX
790
19.3.6 Debugging-Tipps
793
20 Sicherheit und Benutzerfunktionen
794
20.1 Das Sicherheitskonzept
794
20.1.1 Sicherheitskonzepte in Webservern
794
20.1.2 Sicherheit und die IIS
795
20.2 ASP.NET-Sicherheitsfunktionen der IIS
796
20.2.1 Formen der Benutzerauthentifizierung
796
20.2.2 Personalisierung
805
20.2.3 Windows-Authentifizierung
805
20.3 Mitgliedschaft und Rollen
807
20.3.1 Die Autorisierungsmodule
807
20.3.2 Dienste der Benutzer- und Rollenverwaltung
808
20.3.3 Das Erweiterungsmodell
808
20.4 Benutzerdatenverwaltung mit Profilen
838
20.4.1 Personalisierung und Benutzerdaten
838
20.4.2 Erweiterung des Profilproviders
842
20.4.3 Implementierung des Providers
845
20.4.4 Ein Profilprovider mit AJAX-Unterstützung
856
20.5 Die Anmeldesteuerelemente
860
20.5.1 Einführung in die Anmeldesteuerelemente
860
20.5.2 Das Login-Steuerelement
861
20.5.3 Das LoginView-Steuerelement
861
20.5.4 Das PasswordRecovery-Steuerelement
863
20.5.5 Das ChangePassword-Steuerelement
863
20.5.6 Das CreateUserWizard-Steuerelement
864
21 Optimierung des Datenverkehrs
866
21.1 Caching von Seiten und Steuerelementen
866
21.2 Speicherung von Seiten
867
21.2.1 Ganze Seiten im Cache
867
21.2.2 Speicherung von statischen Teilen einer Seite im Cache
869
21.3 Programmgesteuerte Beeinflussung des Cache
870
21.3.1 Das HttpCachePolicy-Objekt
870
21.3.2 Speicherung von Daten während der Laufzeit
871
21.3.3 Warum ein Element aus dem Cache entfernt wurde –CacheItemRemovedReason
873
21.4 Allgemeine Tipps zur Optimierung
873
21.4.1 Caching verwenden
874
21.4.2 Funktionen deaktivieren, die nicht benötigt werden
874
21.4.3 Fehlerhilfen nach der Freigabe abschalten
874
21.4.4 Nachdenken über die Gestaltung von Applikationen
874
TEIL IV Erweiterbarkeit
876
22 Steuerelemente entwickeln
878
22.1 Grundlagen kundenspezifischer Steuerelemente
878
22.1.1 Zusammengesetzte kundenspezifische Steuerelemente
879
22.2 Entwicklung eigener Steuerelemente
889
22.2.1 Kontrolle des Ausgabeverhaltens eines Steuerelements
890
22.2.2 Stile und Attribute für Steuerelemente
897
22.3 Datengebundene Steuerelemente
899
22.3.1 Aufbau datengebundener Steuerelemente
899
22.3.2 Entwicklung eines datengebundenen Steuerelements
900
22.4 Vorlagenbasierte Steuerelemente
904
22.4.1 Einführung
904
22.4.2 Der Aufbau der Vorlagen
905
22.4.3 Wie die Vorlagen-Eigenschaft funktioniert
906
22.4.4 Vorlagen verarbeiten
908
22.4.5 Erweitertes Beispiel für ein vorlagenbasierte Steuerelement
910
22.5 Entwurfszeitverhalten
914
22.5.1 Visual Studio unterstützen
914
22.5.2 Das „Drag und Drop“-Verhalten modifizieren
916
22.5.3 Bessere Entwurfszeitunterstützung
919
22.5.4 Entwurfszeitverhalten datengebundener Steuerelemente
919
22.5.5 Entwurfszeitverhalten vorlagengebundener Steuerelemente
920
23 Gerätespezifische Anpassung
922
23.1 Adaptives Steuerelementverhalten
922
23.1.1 Das Standardverhalten der Steuerelemente
923
23.2 Adapter einsetzen
925
23.2.1 Die Klasse ControlAdapter
925
23.2.2 Die Klasse PageAdapter
928
23.3 Gerätespezifische Filter
930
23.3.1 Aufbau der Browserdefinitionsdatei
930
23.3.2 Eigene Filter definieren
932
23.4 Einen Steuerelementadapter entwickeln
934
23.4.1 Vorbereitung
934
23.4.2 Der Adapter
934
23.4.3 Konfiguration des Steuerelementadapters
938
23.5 Einen Seitenadapter entwickeln
939
23.5.1 Beispieladapter
939
23.5.2 Konfiguration des Seitenadapters
940
24 Handler und Module
942
24.1 Module, Handlers und die IIS
942
24.2 Module
943
24.2.1 Module und die IIS7-Architektur
943
24.2.2 Native Module
943
24.2.3 Verwaltete Module
946
24.2.4 Basisimplementierung
948
24.2.5 Ein Modul erstellen
949
24.2.6 Interaktionen zwischen Modulen
952
24.3 Module installieren und konfigurieren
953
24.3.1 Konfigurieren des Servers und der Entwicklungsumgebung
953
24.3.2 Die IIS7 konfigurieren
954
24.3.3 Konfiguration mit der IIS-Managementkonsole
954
24.4 Http-Handler
954
24.4.1 Eingebaute Handler
955
24.5 Synchrone Handler
955
24.5.1 Typische Szenarios mit HTTP-Handlern
955
24.5.2 Vorbereitende Schritte
956
24.5.3 Einen Handler programmieren
956
24.5.4 Der Einstiegspunkt in den Handler
957
24.5.5 Beispiele für typische Handler
959
24.5.6 Weitere Methoden der Verwendung von Handlern
960
24.6 Asynchrone Handler
962
24.6.1 Der Thread-Pool und asynchrone Handler
962
24.7 Handler installieren und konfigurieren
968
24.7.1 Konfigurieren des Servers und der Entwicklungsumgebung
969
24.7.2 Konfiguration der IIS7-Einstellungen
969
24.7.3 Konfiguration mit der IIS-Managementkonsole
970
24.7.4 Konfigurieren eines generischen Handlers
971
24.8 Module und Handler testen und debuggen
971
24.8.1 Debuggen mit dem IIS
972
24.8.2 Probleme beim Debugging der Worker-Prozesses
974
24.8.3 Tracing für Handler
975
25 Erweiterungsmodell Provider
978
25.1 Konzept der Provider
978
25.1.1 Die Schwerpunkte des Providermodells
979
25.2 Die Standardprovider
980
25.2.1 Eingebaute Provider
981
25.2.2 Erweiterung der Standardprovider
982
25.3 Die Anatomie der Provider
982
25.3.1 Einen Provider verfügbar zu machen
983
25.3.2 Bemerkungen zur Entwicklung eigener Provider
985
25.4 Erstellen eines providerbasierten Dienstes
989
25.4.1 Den Dienst erzeugen
989
25.4.2 Den Provider erstellen
991
25.4.3 Konfiguration des Providers
996
25.4.4 Den Dienst verwenden
998
26 Ressourcenverwaltung
1000
26.1 Programmierung eigener Ressourcenprovider
1000
26.1.1 Das Providermodell erweitern
1001
26.1.2 Vorarbeiten
1001
26.1.3 Kundenspezifische Ressourcen-Provider
1004
26.1.4 Das Providermodell erweitern
1004
26.1.5 Den Provider implementieren
1005
26.1.6 Entwurfszeitunterstützung
1012
26.1.7 Ressourcen Online bearbeiten
1022
26.2 Erweiterung der Ausdruckssyntax
1028
26.2.1 Definition privater Ausdrucks-Generatoren
1028
26.2.2 Den Ausdrucks-Generator erweitern
1029
26.3 Dynamische Ausdrücke ohne Code
1033
26.3.1 Dynamische Ausdrücke auf nicht kompilierten Seiten
1034
26.3.2 Mehr Informationen
1034
26.4 Entwurfszeitunterstützung
1035
26.4.1 Umgang mit Visual Studio zur Entwurfszeit
1035
26.4.2 Fehlersuche zur Entwurfszeit
1036
27 Grafische Modelle
1038
27.1 Grundlagen GDI+
1038
27.1.1 Einführung
1038
27.1.2 Vektorgrafik
1040
27.2 Dynamische Grafiken erzeugen
1044
27.2.1 Funktionsweise
1045
27.2.2 Dynamisches Captcha erstellen
1045
27.3 Silverlight
1049
27.3.1 Einführung in Silverlight
1049
27.3.2 Architektur von Silverlight
1049
27.3.3 Silverlight und XAML
1051
27.3.4 Der Layout-Manager
1054
27.3.5 Beispielanwendung – WCF-Taschenrechner
1059
27.3.6 Silverlight-Hosting und -Verteilung
1067
Index
1070