Website zu den Büchern 'ASP.NET 2.0 mit Visual C# 2005' und : 'ASP.NET 2.0 mit Visual Basic 2005': (Microsoft Press, 2006)

Sie sind hier: Startseite
Startseite

Inhaltsverzeichnis

Das Inhaltsverzeichnis der beiden Bücher ist fast identisch. Die Bücher unterschieden sich

1. In allen Kapitel in Hinblick auf die Codebeispiele

2. In Kapitel 6, das die Sprachsyntax behandel.

3. Das C#-Buch ist - weil später erschienen - ein klein wenig aktueller. Außerdem sind einige zusätzliche Codebeispiele enthalten.

 

Bestellung bei Amazon.de:

Rezension in dotnetpro 11 / 2007

Inhalt - Schnellüberblick über die oberste Gliederungsebene

Vorwort 25

Teil A - Einführung 41

1 Was ist ASP.NET? 43
2 Installation von ASP.NET 2.0 49
3 Drei erste schnelle Lösungen 57
4 Das Fallbeispiel „World Wide Wings“ 73

Teil B - Grundlagenwissen 83

5 Kurzeinführung in das .NET Framework 85
6 C# 2005 (C# 8.0) bzw. Visual Basic 2005 (VB2005) 151   Dieses Kapitel ist buchspezifisch!
7 Die klassischen Active Server Pages 175

Teil C - ASP.NET Basiswissen 195

8 Das Webform-Programmiermodell 197
9 Vergleiche zu anderen Technologien 243
10 Entwicklungsumgebung Visual Studio/Visual Web Developer 265
11 Webserver für ASP.NET 331
12 Webserversteuerelemente 341
13 Datensteuerelemente und Datenbindung 411
14 Konfiguration 469
15 Kompilierung und Verbreitung von Webanwendungen 491
16 Interaktion zwischen ASP.NET und dem Webserver mit den eingebauten Objekten 515
17 Zustandsverwaltung 539

Teil D - Aufbauwissen 557

18 Gestaltungsvorgaben 559
19 Navigationsstruktur 567
20 Mehrsprachige Websites (Lokalisierung) 573
21 Sicherheit 593
22 Profildaten 653
23 Die globale Anwendungsdatei global.asax 657
24 Fehlersuche und Fehlerbehandlung 671
25 Nutzung von Softwarekomponenten 725
26 Selbstdefinierte Steuerelemente 739
27 XML-Webservices(ASMX) 791
28 Migration von Webanwendungen 815

Teil E - Profiwissen 837

29 Quellcodeverwaltung 839
30 Browserfähigkeiten 851
31 Logik auf dem Client (Browser-Scripting) 861
32 Webanwendungen für kleine Endgeräte mit den mobilen Steuerelementen 873
33 Webparts 893
34 URL-Rewriting (URL-Remapping) 899
35 Mehrschichtige Architekturen mit ASP.NET-Webanwendungen 903
36 Zwischenspeicherung (Caching) 991
37 Einblicke und Eingriffe in das ASP.NET Page Framework 1007
38 Erweiterung der ASP.NET-Infrastruktur 1023
39 Programmieren mit dem Steuerelementbaum 1029
40 Zusatzwerkzeuge 1041
41 Tipps, Tricks und Lösungen 1049

Teil F - Ausblick 1075

42 Weitere und kommende Produkte 1077
43 Weitere Unterstützung und Informationsquellen 1087
Anhang A - Quellen und weiterführende Literatur 1095
Stichwortverzeichnis 1103

Detailinhalt


Vorwort 25
Über den Autor Dr. Holger Schwichtenberg 27
Dienstleistungen für Leser nach dem Kauf 28
Fragen und Antworten zum Buch (FAQ) 28
Fragen zum Inhalt des Buchs 28
Fragen zu Grafiken und Bildschirmabbildungen 32
Fragen zu den Programmcodebeispielen 33
Fragen zur Qualitätssicherung 36
Fragen zur Unterstützung nach dem Kauf 38


Teil A - Einführung 41

1 Was ist ASP.NET? 43
Überblick über ASP.NET-Webforms 44
Überblick über ASP.NET-Webservices 47
Neue Webservice-Funktionen in .NET 2.0 48

2 Installation von ASP.NET 2.0 49
Plattformen 50
Installationsvoraussetzungen 50
Installation des .NET Framework Redistributable 50
ASP.NET und der IIS 51
Installation von Visual Studio 2005 51
Entscheidung zwischen der deutschen und der englischen Version 53
Add-Ons 56

3 Drei erste schnelle Lösungen 57
Beispiel 1: Hello World 58
Beispiel 2: Erstellung eines Datenformulars 63
Erweiterung des Beispiels 66
Schritte für die Erweiterung 66
Beispiel 3: Erstellung einer zugangsgeschützten Website 68

4 Das Fallbeispiel „World Wide Wings“ 73
Szenario 74
Datenmodell 74
Mehrschichtmodell 75
Objektmodell 77
Implementierung 78
Funktionen des Web-Clients 79
Sehr wichtige Hinweise 80
Softwarevoraussetzungen 81
Installation 81
Fragen zu diesem Beispiel 82


Teil B - Grundlagenwissen 83

5 Kurzeinführung in das .NET Framework 85
Was ist .NET? 86
Plattformen 89
Geschichte und Versionen 90
Produkte 92
Zwischensprache 94
Anwendungstypen 96
Laufzeitumgebung 98
Programmiersprachen für .NET 99
Klassenbibliothek 103
Namensräume 104
Umfang der Klassenbibliothek 108
FCL versus BCL 108
Implementierung der FCL 109
Typkonzept 109
Referenztypen 110
Wertetypen (Strukturen) 112
Typnamen und Namensräume (Namespaces) 113
Neuheiten im Typkonzept in .NET 2.0 116
Softwarekomponentenkonzept 118
Der Softwarekomponentenbegriff im .NET Framework 118
Aufbau von Assemblies 120
Signierte Assemblies 121
Befreundete Assemblies (Friend Assemblies) 123
Speicherorte für Assemblies 123
Metadaten 123
Komponentenkonfiguration 125
Assembly-Referenzen 126
Anwendungsdienste (Application Services) 127
Installation von .NET-Anwendungen 128
XCOPY-Installation 129
Microsoft Windows Installer (MSI) 129
Kommandozeilenwerkzeuge 130
GUI-Werkzeuge 130
No-Touch-Deployment (NTD) 130
Click-Once-Deployment (COD) 130
Fernaufrufe und Anwendungskopplung 131
XML-Webservices 131
.NET Remoting 132
Weitere Dienste der Laufzeitumgebung 133
Speicherbereinigung (Garbage Collection) 133
Prozessabgrenzung durch Application Domains 134
Sicherheit (Code Access Security) 135
Interoperabilität 139
Interoperabilität zu klassischen C-Bibliotheken 139
Interoperabilität zu COM 140
Interoperabilität zu anderen Komponentenplattformen 140
.NET auf 64-Bit-Systemen 141
Entscheidungsdiagramm 142
Datentypen 143
Leistung 143
.NET in mehrschichtigen Anwendungen 145
.NET 3.x - ein Blick in die Zukunft 147
Erweiterungen der .NET-Klassenbibliothek in .NET 3.0 147
.NET “Orcas“ (.NET3.x/4.0) 148
Bewertung 149

6 C# 2005 (C# 8.0) bzw. Visual Basic 2005 (VB2005) 151   Dieses Kapitel ist buchspezifisch!
Einleitung 152
Compiler 153
Syntaktische Grundlagen 153
Objektorientierung 153
Klassen 154
Generische Klassen 156
Partielle Klassen 157
Vererbung 157
Ereignisse 159
Schnittstellen 160
Namensräume 160
Deklaration von Namensräumen 161
Import von Namensräumen 161
Verweis auf Wurzelnamensräume mit global:: 161
Datentypen 162
Zeichenketten 163
Typkonvertierung 163
Initialisierung 164
Wertelose Wertetypen (Nullable Types) 164
Arrays 166
Operatoren 166
Schleifen 169
Verzweigungen 170
Funktionszeiger (Delegates) 171
Annotationen (.NET-Attribute) 171
Fehlerbehandlung 171
Eingebaute Objekte und Funktionen 172
Kommentare und XML-Dokumentation 173
Unsicherer Code 173

7 Die klassischen Active Server Pages 175
Erzeugung dynamischer HTML-Seiten 176
Architektur (asp.dll) 178
ASP-Objekte 179
Eingebaute Objekte 179
Externe Objekte 183
Seitenübergänge 184
Vom Client initiierte Seitenübergänge 185
Vom Server initiierte Seitenübergänge 185
Parameterübergabe und Sitzungsverwaltung 186
Parameterübergabe bei HTTP/HTML 187
Werteübermittlung im Seiteninhalt 188
Cookies 188
Zustandsverwaltung durch Sitzungen 189
Überblick über die Befehle 191
Beispiel 192
Umgebungsvariablen 193
Einbindung von externen Dateien 194


Teil C - ASP.NET Basiswissen 195

8 Das Webform-Programmiermodell 197
ASP.NET-Webanwendungen 198
Client-Server-Modell 200
ASP.NET-Serversteuerelemente 201
Adaptive Rendering 202
Steuerelementobjekte vs. Steuerelementtags 203
Programmierung der Steuerelementobjekte 206
Steuerelement-Hierarchie (Objektbaum) 206
Beispiel: ASP vs. ASP.NET 208
Ereignismodell 209
Ereignisarten und Ereignisverarbeitung 209
Postback-Modell 210
Ereignisbindung 212
Ereignisparameter 214
Automatischer Postback (AutoPostBack) 215
Postback-abhängiger Code 216
Ereignishierarchien und Ereignisweitergabe 216
Seitenübergänge 216
Serverseitiger Übergang mit Redirect() 219
Serverseitiger Übergang mit Transfer() 221
Cross-Page-Postbacks 227
Rein clientseitiger Seitenübergang 227
Zusammenfassung 228
Praxisbeispiel: Registrierung mit Druckfunktion 229
Trennung von Gestaltung und Programmcode 234
Ein-Datei-Modell 234
Hintergrundcode-Modell 234
Unterstützung in der Entwicklungsumgebung 236
Kompilierung und Programmiersprachen 236
Verteilung von ASP.NET-Webanwendungen 238
Steuerelementtypen 239
Beschreibung der Steuerelementtypen 239
Zusammenfassung 242

9 Vergleiche zu anderen Technologien 243
Vergleich mit klassischen Active Server Pages (ASP) 244
Geschwindigkeitsvergleich 247
Koexistenz und Interoperabilität 248
Beispiel 249
Praxisbeispiel: Ein Buchkatalog 250
Vergleich mit der Java 262
Vergleich zu Windows Forms und WPF 263

10 Entwicklungsumgebung Visual Studio/Visual Web Developer 265
Grundfunktionen 267
Neuerungen in der Entwicklungsumgebung 268
Produktvarianten 270
Fensterverwaltung 275
Projektverwaltung 277
Projektvorlagen 278
Projektmappen 279
Webprojektmodelle 280
Projektelemente 289
Projekteigenschaften 295
Verweise (Komponenten- und Projektreferenzen) 297
Speichern und Autowiederherstellung 299
Projektkonvertierung 299
Code-Editoren 300
Code-Editoren in Webprojekten 300
IntelliSense-Funktionen 301
Erstellung von Ereignisbehandlungsroutinen 303
Farbdarstellung 304
Änderungsverfolgung 304
Zeilennummern und Zeilenumbruch 305
Coderegionen 305
Refactoring (Umgestalten) 305
Codeformatierung 307
Kommentare 307
Hintergrundkompilierung 307
Grafische Editoren (Designer) 308
Designer für Windows Forms und Webforms 308
Arbeit mit dem Webform-Designer 308
Designer-Ansichten 308
Designer für nichtvisuelle Komponenten 315
Klassendiagrammdesigner 315
Arbeit mit Datenquellen 316
Datenverbindungen (Data Connections) 316
Datenquellen (Data Sources) 317
Kompilierung und Ausführung 320
Übersetzung von Webanwendungen 320
Übersetzungskonfigurationen 321
Fehlerliste 321
Microsoft Build (MS Build) 322
Start von Webanwendungen 323
Debugger 325
Weitere Fenster 325
Aufgabenliste 325
Server-Explorer 326
Objektbrowser und Klassenansicht (Object Browser/Class View) 327
Codedefinitionsfenster (Code Definition Window) 329
Modellierung 329

11 Webserver für ASP.NET 331
ASP.NET Development Server 332
Internet Information Server (IIS) 334
Apache-Webserver 336
Konfiguration in VWD 336
Webhosting 337
Formen des Webhosting 337
Verwendete Software 338
Konfiguration 338
Preise 339

12 Webserversteuerelemente 341
Überblick über die Vererbungshierarchie 342
Die Basisklasse System.Web.UI.Control 343
Die Basisklasse System.Web.UI.WebControls.WebControl 345
Einfache Steuerelemente 347
Attribut Text 350
Aktivierreihenfolge, Fokus und Zugriffstasten 350
Rückrufsteuerelemente (Button, LinkButton und Hyperlink) 351
Dateihochladen (FileUpload) 352
Listen-Steuerelemente 353
Vererbungshierarchie 354
Befüllung der Liste 356
Formatierung 358
Auslesen der ausgewählten Werte 359
Weitere Eigenschaften aller Listen-Steuerelemente 360
Beispiel 360
Validierungssteuerelemente (Validatoren) 360
Gemeinsame Eigenschaften der Validierungssteuerelemente 361
Fallstricke und Tipps zu den Validierungssteuerelementen 364
RequiredFieldValidator 367
RegularExpressionValidator 368
CompareValidator und RangeValidator 369
CustomValidator 370
Beispiel 372
ValidationSummary 375
Container-Steuerelemente 376
Inhalte der Container-Steuerelemente 377
Panel-, PlaceHolder- und Literal-Steuerelemente 378
Tabellensteuerelement (Table) 378
Ansichtensteuerelement (MultiView) 379
Assistentensteuerelement (Wizard) 381
Praxisbeispiel: Kundenprofil anlegen 389
Komplexere Steuerelemente 398
Werberotations-Steuerelement (AdRotator) 399
Kalender-Steuerelement (<asp:Calendar>) 401
XML-Steuerelement 404
Baum-Steuerelement (TreeView) 407
Menü-Steuerelement (Menü) 408
Datensteuerelemente 410
Sicherheitssteuerelemente 410
Steuerelemente von Drittanbietern 410

13 Datensteuerelemente und Datenbindung 411
Datensteuerelemente (Datenbindende Steuerelemente) 412
Datenquellen 414
Indirekte Datenbindung mit Datenquellensteuerelemente 415
Direkte Datenbindung 423
Datenbindungsvorlagen (Templates) und Datenbindungsausdrücke 424
Datenbindungsvorlagen 424
Datenbindungsausdrücke mit Eval() und Bind() 426
Datenbindungsausdrücke mit Container.DataItem 427
Datentabellensteuerelement (GridView) 428
Spaltentypen 428
Datenbindung 429
Anpassung der Daten bei der Ausgabe 434
Eigener Spaltentyp 439
Gestalterische Aspekte des GridView-Steuerelements 439
Datenaktionen (Blättern, Sortieren, Editieren, Selektieren, Filtern) 440
DataGrid 449
DataList versus Repeater 449
Datenquellen 451
Datenbindungsvorlagen 451
Gestaltungsoptionen 452
DataList-Beispiel 453
DetailsView und FormView 457
Praxisbeispiel 1: Master-Detail-Ansicht für die Flugverwaltung 458
Praxisbeispiel 2: Gästebuch 460
Vergleich der Datensteuerelemente 466

14 Konfiguration 469
XML-Konfigurationsdateien 470
web.config-Dateien 470
Globale Konfigurationsdateien 471
Werkzeugunterstützung 471
Konfigurationsebenen 472
Konfigurationselemente 474
Konfiguration für einzelne Verzeichnisse und Dateien 475
Überschreiben von Konfigurationseinstellungen verhindern 476
<system.web>-Konfigurationselemente 476
Verschlüsselte Sektionen (Protected Configuration) 478
Anwendungsspezifische Einstellungen 481
<appSettings>-Element 481
Eigene Konfigurationssektionen 483
Verbindungszeichenfolgen 483
Administration 485
MMC-basierte Verwaltung 485
Webbasierte Verwaltung 487

15 Kompilierung und Verbreitung von Webanwendungen 491
Schattenkopiemechanismus (Shadowing) 492
Klassenmodelle 492
Kompilierungsvorgang 494
Kompilierungsoptionen 498
Kompilierung zur Laufzeit (dynamische Kompilierung/ Autokompilierung) 499
Kompilierung zur Entwicklungszeit zum Ausliefern (Veröffentlichung) 500
Verteilung der Datenbanken 503
Installieren von ASP.NET-Webanwendungen im Webserver 504
Weitere Kompilierungs- und Verbreitungsoptionen mit aspnet_merge.exe und Web
Deployment-Projekten 507
Web Deployment-Projekte 507
aspnet_merge.exe 513

16 Interaktion zwischen ASP.NET und dem Webserver mit den eingebauten Objekten 515
Überblick 516
Implementierung der eingebauten Objekte in ASP.NET 517
Namensraum „System.Web“ 517
Namensraum System.Web.UI 518
Zugriff auf die eingebauten Objekte 520
Klasse System.Web.UI.Page 520
Unterobjekte 522
Ereignisse der Klasse Page 523
Klasse System.Web.HttpContext 523
Objektmodell 523
Anwendungsfälle 525
Klasse System.Web.HttpServerUtility 525
Überblick 525
Querverweise 526
Klasse System.Web.HttpRequest 527
Überblick 527
Beispiel 529
Klasse System.Web.HttpResponse 532
Überblick 532
Ausgabe mit WriteFile() 534
Seitenübergang mit Redirect() 535
Pufferung (BufferOutput) 536
Benutzerdefinierte HTTP-Header-Daten: AppendHeader() 537
ContentType 538
Cookies lesen und setzen 538

17 Zustandsverwaltung 539
Überblick 540
Zustandsverwaltung auf Seitenebene 541
Realisierung des Seitenzustandes 541
Speicherung eigener Werte im Seitenzustand 542
Ausschalten des Seitenzustandes 544
Absichern des Seitenzustandes 545
Zustandsverwaltung auf Sitzungsebene 545
Überblick 545
Programmieren mit dem Sitzungszustand 546
URL-basierte Sitzungsverwaltung ohne Cookies 547
Konfiguration des Sitzungszustandes 548
Speicherort der Sitzungstabelle wählen 548
Deaktivieren des Sitzungszustandes 549
Zustandsverwaltung auf Anwendungsebene 549
Unbedingter Anwendungszustand 549
Bedingter Anwendungszustand 550
Individuelle Cookies (Benutzerzustand) 551
Vergleich 552
Beispiele zur Zustandsverwaltung 553
Beispiel: Aufrufzähler 553
Praxisbeispiel: Registrierungsformular mit einer beschränkten Anzahl von Versuchen 554


Teil D - Aufbauwissen 557

18 Gestaltungsvorgaben 559
Vorlagenseiten (Masterpages) 560
Layoutthemen (Themes) 562
Skin-Dateien 562
Themen und Profildaten 563
Statische Festlegung des zu verwendenden Layoutthemas 563
Dynamische Festlegung des zu verwendenden Layoutthemas 563
Unterstützung im Visual Web Developer 564
Setzen des Layoutthemas 565
Implementierung des Auswahldialogs 565

19 Navigationsstruktur 567
Sitemap-Dateien und SiteMapProvider 568
Sitemap-Datenquelle (SiteMapDataSource) 568
Navigationssteuerelemente 569
Programmgesteuerter Zugriff auf Strukturdaten 570
Pfadangaben 571
Unterschiede zwischen physischen Pfaden und logischen Pfaden 571
Absolute Verweise 571
Informationen über Pfade 572

20 Mehrsprachige Websites (Lokalisierung) 573
Ressourcendateien 574
Sprachen und Kulturräume 575
Kulturkürzel 575
Rückfallstrategie 577
Culture vs. UICulture 577
Klasse CultureInfo 578
Ressourcendateien in ASP.NET 578
Erstellung von Ressourcendateien 579
Fehlende Ableitungsfunktion 580
Lokalisierungsformen 581
Explizite Lokalisierung durch ASP.NET Expressions 581
Implizite Lokalisierung 582
Programmgesteuerte Lokalisierung 583
Steuerung der angezeigten Sprache durch den Browser 584
Programmgesteuerte Sprachwahl 587
Steuerelement <asp:Localize> 591

21 Sicherheit 593
Überblick über die Sicherheitsmechanismen in ASP.NET 594
Verwaltung von Benutzern und Rollen 596
Möglichkeiten der Benutzerverwaltung 596
Deklarative Benutzerverwaltung in der web.config-Datei 597
Mitgliedschaftssystem 598
Rollenverwaltungsystems 601
Authentifizierung 603
Überblick über die Authentifizierungsverfahren 604
Festlegung des Authentifizierungsverfahren für ASP.NET 605
IIS-integrierte Authentifizierung (Windows Authentication Provider) 605
Formularbasierte Authentifizierung (Forms Authentication Provider) 608
Tipps und Tricks zur formularbasierten Authentifizierung 617
Vergleich der Authentifizierungsverfahren 618
Ermitteln der Authentifizierung 619
Zugriffskontrolle 619
Zugriffskontrolle über das NTFS-Dateisystem (File Authorization) 620
XML-basierte Zugriffskontrolle durch die web.config-Datei (URL Authorization) 620
Anwendungsidentität 622
Modelle 622
Konfigurationselemente 623
Identität im IIS 5.x 624
Identität im IIS 6.0 626
Konfigurations-Beispiele 626
Ändern des Standardbenutzerkontos von ASP.NET 627
Ermittelnder Anwendungsidentität 627
Programmgesteuerter Wechsel der Identität 627
Sicherheitssteuerelemente (Login, ChangePassword, Passwordrecovery, u. a.) 631
Benutzeranmeldung (Login) 632
Kennwortwiedergewinnung und -neuvergabe (PasswordRecovery) 634
Benutzer anlegen (CreateUserWizard) 636
Kennwort ändern (ChangePassword) 637
Rollenspezifische Ansichten (LoginView-Steuerelement) 638
Weitere Steuerelemente (LoginName, LoginStatus) 640
Typische Angriffe und die passenden Abwehrmaßnahmen 640
SQL-Injektionsangriffe (SQL Injection) 640
Seitenübergreifende Scriptangriffe (Cross-Site-Scripting) 642
Tipps und Tricks zur Sicherheit 645
Dateien von der Verarbeitung ausschließen 646
Andere Dateitypen bei Sicherheit berücksichtigen 646
Kastrierung von ASP.NET 647
Single-Sign-On 648
Trust Level 650
Best Practices zur Sicherheit 652

22 Profildaten 653
Profilprovider 654
Definition der Profileigenschaften 654
Zugriff auf Profildaten 655

23 Die globale Anwendungsdatei global.asax 657
Implementierungsmodelle für die global.asax 658
Implementierung nach dem Ein-Datei-Modell 658
Implementierung nach dem Hintergrundcode-Modell 659
Globale Ereignisse 659
Ereignisse aus HTTP-Modulen 660
Ereignisse der Klasse HttpApplication 663
Globale statische Objekte 667
Definition globaler statischer Objekte 667
Anwendungsbeispiel 668

24 Fehlersuche und Fehlerbehandlung 671
Ablaufverfolgung (Tracing) 672
Aktivierung des Tracing 673
Inhalt der Ablaufverfolgungsinformationen 673
Tracing auf Anwendungsebene 674
Erstellen eigener Ablaufverfolgungsausgaben 676
Laufzeitfehler 677
Benutzerdefinierte Fehlerseiten 679
Anzeige von Laufzeitfehlern in ASP.NET 679
Eigene Fehlerseiten 680
Behandlung von Fehlern im Programmcode 682
Fehlerbehandlung auf Seitenebene 683
Globale Fehlerbehandlung 683
Debugging 684
Werkzeuge für das Debugging 684
Debugging mit Visual Studio/Visual Web Developer 685
Debugging mit dem CLR Debugger 689
Tipps und Tricks zum Debugging 690
Statische Codeanalyse 693
Unit Tests von Webanwendungen 695
Webtests mit NUnitAsp 696
Testen mit VSTS 702
Leistungsmessung mit Lasttests 709
VSTS-Leistungstest 712
Systemüberwachung (Health Monitoring System) 714
Architektur 714
Ereignisanbieter 714
Ereignisse 716
Konfiguration 717
Pufferung 718
Standardkonfiguration 718
Beispiel für eine benutzerdefinierte Konfiguration 721

25 Nutzung von Softwarekomponenten 725
Allgemeine Hinweise 726
Nutzung von .NET-Softwarekomponenten 727
Referenzen auf Assemblies im /bin-Verzeichnis 729
Referenzen auf Assemblies im Global Assembly Cache (GAC) 729
Andere Standorte 731
Namensräume und Typen importieren 733
Nutzung von COM-Komponenten mit COM-Interop 734
Instanziierung von COM-Objekten 734
Frühes Binden mit Wrapper-Assembly 734
Spätes Binden ohne Wrapper-Assembly 735
COM-Kompatibilität aktivieren 736
Nutzung von C-DLLs mit Platform Invoke (P/Invoke) 737

26 Selbstdefinierte Steuerelemente 739
Arten von selbstdefinierten Steuerelementen 740
Verbesserungen in ASP.NET 2.0 742
Nutzung selbst definierter Steuerelemente 742
User Controls 743
Entwicklung eines User Control 743
Nutzung eines User Controls 746
Beispiel 1: Bewertungssteuerelement 747
Beispiel 2: GetInfoBox 751
Beispiel 3: Buchinfo 755
Tipps 759
Custom Controls 760
Arten von Custom Controls 760
Vorlagen in VWD 761
Grundlagen 761
Entwicklungsumgebungsunterstützung für Custom Controls 765
Abgeleitete Serversteuerelemente (Inheritance Controls) 769
Zusammensetze Steuerelemente (Composite Controls) 771
Von Grund auf neue Steuerelemente (Direct Control) 777
Tipps und Tricks 787

27 XML-Webservices(ASMX) 791
Überblick 792
Webservices erstellen mit ASP.NET 2.0 793
Modell-Alternativen 794
Vorgehensweise in Visual Studio 2005 794
Beispiel 795
Erstellung einer WSDL-Beschreibung 796
Testanwendung für Webservices 797
Steuerung der SOAP-Serialisierung 799
Tipp zur Fehlerdiagnose 799
Webservices in .NET-Anwendungen nutzen 800
Generierung der Proxy-Klasse 800
Aufruf der Proxy-Klasse 803
Proxy Type Sharing 803
Asynchroner Aufruf 804
Authentifizierung 805
Weitere Möglichkeiten 806
Fehlerbehandlung 806
Generierung der Server-Schnittstellen 807
Statische Generierung von Serialisierungs-Assemblies (sgen.exe) 807
Benutzerdefinierte Serialisierung 808
Zustandsbehaftete Webservices 809
Webservices nutzen in ASP.NET-Webanwendungen 810
DISCO-Unterstützung 811
Web Services Enhancements (WSE) 3.0 812
Vergleich zwischen .NET Remoting und ASP.NET-basierten XML-Webservices 812

28 Migration von Webanwendungen 815
Migration von ASP zu ASP.NET 816
Migrationsmöglichkeiten 816
Migration mit VWD 820
Migrationsassistent 821
Umlenkung der Seiten 821
Migrations-Beispiel 821
Migration von ASP.NET 1.x zu ASP.NET 2.0 826
Weiterbetreiben unter ASP.NET 1.x 827
Ausführung von 1.x unter 2.0: Einstellung im IIS 828
Konvertierung von ASP.NET 1.x nach ASP.NET 2.0 828


Teil E-Profiwissen 837

29 Quellcodeverwaltung 839
Visual SourceSafe 2005 (VSS) 840
VSS-Clients 840
Erstellen einer SourceSafe-Datenbank 841
Integration in Visual Studio 2005 842
Quellcodeverwaltung mit Subversion 844
Server und verschiedene Clients 845
Betriebsarten 845
Verwaltungsdaten 846
Integration in Visual Studio 2005 846

30 Browserfähigkeiten 851
Definition der Browserfähigkeiten 852
Auslesen der Browserfunktionalitäten 855
Beispiel 856
Browserspezifische Ausgaben 858
GerätefilterunginASP.NET 858
Steuerelementadapter 859
Kompatibilität mit dem Firefox-Browser 859

31 Logik auf dem Client (Browser-Scripting) 861
Grundlagen 862
Funktionen zum Anbinden von Client-Scripts 863
Client-Rückrufe (Script Callbacks) 865
Hintergrund 865
Ablauf 865
Beispiel 866

32 Webanwendungen für kleine Endgeräte mit den mobilen Steuerelementen 873
Funktionsumfang 874
Geschichte der mobilen Steuerelemente 874
Webseiten für mobile Anwendungen 875
Mobile Steuerelemente 875
Überblick 876
Textdarstellung mit dem TextView-Steuerelement 877
Entwickeln und Testen mobiler Webanwendungen 878
Praxisbeispiel 880
Zustandsverwaltung 886
Formatvorlagen 887
Erkennen von Geräte-Fähigkeiten 888
Gerätespezifische Ausgaben 888
Erstellung selbstdefinierter mobiler Steuerelemente 892

33 Webparts 893
Bestandteile eines Webportals 894
Inhalt einer WebPartZone 895
Anzeigemodi 895
Eigene Webparts erstellen 896
Webpart-Verbindungen (Web Part Connections) 896

34 URL-Rewriting (URL-Remapping) 899
Deklaratives URL-Rewriting 900
Programmgesteuertes URL-Rewriting 901

35 Mehrschichtige Architekturen mit ASP.NET-Webanwendungen 903
Einleitung (Definition und Regeln) 904
Technologieoptionen 907
Verteilung der Schichten 908
Vorteile 910
Aufteilung in Softwarekomponenten 910
Datentransferobjekte 910
Impedance Mismatch 910
Vergleich zwischen generischen Datentransferstrukturen und
(Domänen-) Spezifischen Datentransferobjekten 912
Optionen zum Datentransfer zwischen den Schichten 913
Eine pragmatischer Ansatz für Anwendungen mit wenig Geschäftslogik 915
Datenzugriff mit ADO.NET 2.0 916
Einführung 916
Neuerungen im Überblick 917
Die ADO.NET-Architektur 918
Daten lesen mit einem Datareader 923
Datenverarbeitung mit einem Dataset 928
Befehlsausführung mit Command-Objekten 942
Datenproviderunabhängiger Datenzugriff durch Providerfabriken 945
Verbindungspooling 947
Asynchrone Befehlsausführung 948
Benachrichtigungen über Datenänderungen (Query Notifications) 950
Massenkopieren (Bulkcopy/Bulkimport) 954
Weitere neue Funktionen 958
ADO.NET 2.0 Feature-Matrix 963
Positionierung von ADO.NET und Ausblick 963
Implementierung einer Mehrschichtarchitektur mit ASP.NET 2.0 965
Datenbindung mit der ObjectDataSource 965
Beispiele für mehrschichtiges Entwickeln in der WorldWideWings-Webanwendung 969
Einschichtige Rapid Application-Lösung unter Einsatz der SqlDataSource und
AccessDataSource 970
Zweischichtige Ansätze mit direktem Zugriff auf die Datenzugriffsschicht 971
Zweischichtige Ansätze unter Einsatz von typisierten Datasets 979
Dreischichtiger Ansatz mit Bindung an domänenspezifische Flug-Objekte aus der Geschäftslogikschicht 981

36 Zwischenspeicherung (Caching) 991
Überblick 992
Pro- und Contra Zwischenspeicherung 992
Zwischenspeicherung ganzer Seiten (Seiten-Caching/Output-Caching) 993
Zwischenspeicherung von Seitenteilen (Fragment Caching/Partielles Caching) 995
Fragment-Caching auf Steuerelementebene 996
Fragment-Caching durch Post-Cache-Subsitution 998
Zwischenspeicherung von Datenmengen (DataSource Caching) 999
Cache Invalidation durch die Datenbank 1000
Cache Invalidation beim Microsoft SQL Server 7.0 und 2000 1001
Cache Invalidation beim Microsoft SQL Server 2005 1002

37 Einblicke und Eingriffe in das ASP.NET Page Framework 1007
Architektur des ASP.NET Page Frameworks 1008
Integration in den IIS 1008
Verarbeitungsmodell 1012
Lebenszyklus eines Webforms 1013
Konfiguration des ASP.NET-Arbeitsprozesses 1016
<compilation> 1017
<httpRuntime> 1018
<processModel> 1019
Seitendirektiven 1020
Überblick 1020
@Page-Direktive 1021

38 Erweiterung der ASP.NET-Infrastruktur 1023
Entwicklung von .NET-Providern 1024
Allgemeine Eigenschaften der Provider 1025
Implementierung eines Mitgliedschaftssystemproviders 1025
Verfügbare Provider 1025
Konfiguration 1025
Implementierungsschritte 1026
Beispiel 1027
Implementierung eines Profile-Providers 1028
Implementierungsschritte 1028
Beispiel 1028

39 Programmieren mit dem Steuerelementbaum 1029
Auslesen des kompletten Steuerelementbaums 1030
Finden eines einzelnen Steuerelements 1032
Dynamische Steuerelementhierarchien 1033
Ermittlung der Ereigniskette 1037

40 Zusatzwerkzeuge 1041
Internet Explorer DeveloperToolbar 1042
Web Developer Toolbar für Firefox 1045
NDoc 1046

41 Tipps, Tricks und Lösungen 1049
Tipps und Tricks zur Leistungssteigerung und Leistungsüberwachung 1050
Leistung der Seitenverarbeitung 1050
Leistung beim Datenzugriff 1050
Testen und Überwachen der Leistung 1051
HTML-Framesets 1051
Dynamische Attribute in Serversteuerelements 1053
E-Mail-Nachrichten versenden 1054
Vorgehensweise 1054
Praxisbeispiel 1054
Zugriff auf das Dateisystem 1056
Zugriff auf die Dateisystemstruktur 1056
Zugriff auf Dateiinhalte 1058
Verwendung von XML-Daten 1059
Arbeit mit dem XML-DOM 1059
Beispiel 1: Seitenabrufzähler 1060
Beispiel 2: Auslesen von eigenen Konfigurationsdaten 1063
Ereignisprotokolle nutzen 1063
Dynamische Grafiken 1065
Vorgehensweise 1065
Beispiel 1065
Laufleisten 1069
Server Side Include (SSI) 1070
Deaktivieren einer Anwendung 1071
Einsatz von Windows Forms Client-Steuerelementen 1071
Konsumieren und Bereitstellen von RSS-Feeds 1073


Teil F - Ausblick 1075

42 Weitere und kommende Produkte 1077
ASP.NET Starter Kits 1078
ASP.NET Site-Frameworks 1078
SharePoint Services/Server 1078
Heutiger Stand 1079
Zukunft 1079
Internet Information Server (IIS 7.0) 1079
Modularer Aufbau 1080
Vereinfachte Konfiguration 1080
Einheitliche Verarbeitungspipeline 1081
Verbesserte Diagnose 1081
ASP.NET 3.0 („Atlas“) 1081
Web 2.0 und AJAX 1081
Atlas-Framework 1083
AJAX-Beispiel mit Atlas 1083
Weitere Funktionen 1085

43 Weitere Unterstützung und Informationsquellen 1087
Zeitschriften 1088
Zeitschriften mit dem Schwerpunkt „.NET“ 1088
Zeitschriften, die regelmäßig über .NET berichten 1089
Bücher 1089
Newsgroups, Foren und Weblogs 1089
Websites 1090
Angebote von Microsoft 1090
Codezone.de 1090
Codezone Premier Sites 1090
dotnetframework.de 1092
Weitere Websites 1092
Schulungen 1093
Organisationen 1093
.NET Code Wise Community 1093
International .NET Association (INETA) 1093
Microsoft Most Valuable Professionals (MVPs) 1093
Regional Directors 1094
Community Leader/Influencer Program (CLIP) 1094
Feedback an Microsoft 1094

Anhang A - Quellen und weiterführende Literatur 1095

Stichwortverzeichnis 1103