visual c# 2005
TRANSCRIPT
Visual C# 2005 Windows- und Webprogrammierung mit dem .NET Framework 2.0
KEVIN HOFFMAN Markt+Technik
K O M P E N D I U M Einführung | Arbeitsbuch | Nachschlagewerk
Inhalt
Widmung 25
Einleitung 27
Über den Autor 31
Teil 1 Ctt 2.0 - Grundlagen 33
Kapitel 1 Einführung in CA 2.0 35
i.i Was ist das .MET Framework? 35
Die Entwicklung von .NET 35
Die Common tanguage Runtime (CLR) 36
Das Common Type System (CTS) 37
Frühjahrsputz: Programmierung in einer Umgebung mit Garbage Collection 38
1.2 Variablen in Ctt 2.0 38 NET-Standardtypen 39
Typkürzel 40
Wert- und Referenztypen ko
1.3 Die grundlegende Syntax von Ctt M Codeblöcke V
Das obligatorische »Hello World«-Beispiel 41
14 Was mit Ctt möglich ist k3
1.5 Zusammenfassung kk
Kapitel 2 Ausdrücke und Steuerstrukturen k5
2.1 Verzweigungen und bedingte Logik 45
Einführung in boolesche Ausdrücke 45
Grundlegende bedingte Ausdrücke 46
Fortgeschrittene bedingte Anweisungen 49
2.2 Schleifen und Wiederholungen k9 Die for-Schleife k9 Die while-Schleife 50 Die do-Schleife 51
2.3 Zusammenfassung 51
Kapitel 3 Strings und reguläre Ausdrücke 53
3.1 Strings 53 Einführung in .NET-Strings 53
Strings formatieren 54
Strings bearbeiten und vergleichen 57
Einführung in die StringBuilder-Klasse 59
3.2 Reguläre Ausdrücke 59 Eingaben validieren 60
Daten aus Eingaben extrahieren 61
3.3 Zusammenfassung 62
Kapitel k Arrays und Auflistungen 63
f».i Arrays 63
Arrays deklarieren und initialisieren 63
Eindimensionale Arrays 64
Mehrdimensionale Arrays 67
Arrays aus Arrays (Jagged Arrays) 69
ii.2 Auflistungen 72
Arrays und Auflistungen im Vergleich 72
ArrayList 73
Hashtable 75
Queue 76
Stack 78
SortedList 79
k.3 Zusammenfassung 80
Kapitel 5 Objektorientierte Programmierung mit C# 81
5.1 Objektorientiertes Design 81
Einführung in objektorientiertes Design 81
Klassen entwerfen 82
Schnittstellen entwerfen 83
5.2 Objektorientierte Programmierung 8^ Einfache Klassen erstellen 8i*
Sichtbarkeit der Member 86
Vererbung 87
Einführung in Polymorphismus 90
Schnittstellen implementieren 91
5.3 Zusammenfassung 93
Kapitel 6 Einführung in Generics 95
6.1 Überblick über Generics 95 Vorteile von Generics 95
Einführung in Typparameter 96
Einschränkungen in Typparametern 97
6.2 Generische Typen erstellen 99 Generische Klassen erstellen 99
Generische Methoden erstellen 100
Generische Schnittstellen erstellen 101
6.3 Generische Auflistungen 102 Die Klasse Dictionary 102
Die Klasse List 103
Die Klasse Queue 10^
Die Klasse Stack IOZ*
64 Zusammenfassung 105
Teil 2 Grundlagen des .NET Framework 2.0 107
Kapitel 7 Eingabe/Ausgabe und Persistenz 109
7.1 Einführung in Streams 109 Speicherstreams 110
7.2 Einführung in die grundlegende Datei-Ein- und -Ausgabe 113 Dateien erstellen und erweitern 113
Dateien lesen n/t
Verzeichnisse und das Dateisystem 115
7.3 Asynchrone Datei-Ein- und -Ausgabe 117
7.1» Isolierte Speicherung 118
7.5 Zusammenfassung 120
9
Inhalt
Kapitel 8 XML 123
8.1 XML-Dokumente lesen und schreiben 123
8.2 XML-Daten mit XPath abfragen 127
8.3 XML-Dokumente mit XSLT umwandeln 129
8.it XML-Dokumente mit XSD validieren 132
8.5 Zusammenfassung 13k
Kapitel 9 Ereignisse und Delegates 135
9.1 Einführung in Delegates 135
Ko- und Kontravarianz 138
9.2 Anonyme Methoden 138
9.3 Multicast-Delegates erstellen 140
9.4 Einführung in Ereignisse 142
9.5 Erweiterte ereignisgesteuerte Programmierung 1«
9.6 Zusammenfassung 149
Kapitel 10 Multithread-Programmierung 151
10.1 Die Grundlagen der threadgestutzten Programmierung 151
10.2 Eine erste Multithread-Anwendung 15^
Threads erstellen und ausführen 15^
Threads beenden 155
Threads anhalten 157
Threads pausieren 157
Threads verknüpfen 158
10.3 Thread-Synchronisierung und -Konkurrenz 159
Das Schlüsselwort lock 160
Mutexe 160
Monitore 163
Die Klasse Interlocked 163
Die Klasse ReaderWriterLock 16k
Manuell und automatisch zurückgesetzte Ereignisse 166
io.ij Die Klasse ThreadPool 168
10.5 Zusammenfassung 170
10
Kapitel 11 Reflection-Grundlagen 171
11.1 Einführung in die Reflection 171
11.2 Methodeninformationen 173
11.3 Memberinformationen 176
11.it Ereignisse untersuchen 178
11.5 Benutzerdefinierte Codeattribute erstellen und auswerten 180
11.6 Zusammenfassung 182
Kapitel 12 Assemblys und Anwendungsdomänen 183
12.1 Einführung in Assemblys 183
12.2 Hinter den Kulissen von Assemblys -\8i>
Einführung in das Assemblymanifest 185
12.3 Assemblys erstellen und verwenden 186
12.4 Assembly-Ressourcen speichern und abrufen 188
12.5 Lokalisierung und Satelliten-Assemblys 191
12.6 Einführung in Anwendungsdomänen 193
12.7 Programmierung mit Anwendungsdomänen 194
12.8 Zusammenfassung 196
Kapitel 13 COM- und Windows-Interoperabilität 197
13.1 Einführung in die Interoperabilität bei Ctt 197
13.2 COM-Objekte im .NET Framework verwenden 198
Primäre Interoperabilitäts-Assemblys 199
13.3 .NET-Klassen in COM verwenden 202
13.4 Zugriff auf Code in nicht verwalteten DLLs 201t
13.5 Zusammenfassung 207
Kapitel 11» Codezugriffssicherheit 209
14.1 Einführung in die Codezugriffssicherheit 209
14.2 Sicherheitsrichtlinien verwenden und verwalten 210 Verwaltung der Codezugriffssicherheit 212
14.3 Imperative Sicherheit 214
Identitäten imperativ erzwingen 218
i(».tt Deklarative Sicherheit 220
ii».5 Zusammenfassung 222
11
Inhalt
Kapitel 15 Kryptografie und Datenschutz 223
15.1 Einführung in die Kryptografie 223
15.2 Verschlüsselung mit geheimen (privaten) Schlüsseln 22^
15.3 Verschlüsselung mit öffentlichen Schlüsseln 22^
15.it Hashing 226
15.5 Digitale Signaturen 226
15-6 Verschlüsselung mit geheimen (privaten) Schlüsseln 227
15.7 Verschlüsselung mit öffentlichen Schlüsseln 228
15.8 Hashes und digitale Signaturen 231
15.9 Verwenden der Datenschutz-API (DPAPI) 233
15.10 Zusammenfassung 236
Kapitel 16 .NET 2.0-Code optimieren 237
16.1 Boxing und Unboxing 237
16.2 Die richtigen Techniken zur Stringbearbeitung 239
16.3 Effiziente Schleifen 2^0
16.(1 Den Anwendungsstart beschleunigen 24.2
16.5 Codeprofile mit dem Leistungs-Assistenten erstellen 242
16.6 Zusammenfassung 2wi
Teil 3 Datenzugriff mit .NET 2.0 249
Kapitel 17 Grundlagen von AD0.NET 251
17.1 Einführung in AD0.NET 251
17.2 Eine Verbindung einrichten 252 Einen Verbindungsstring aufbauen 252 Die DbConnection-Klassen 253
17-3 Kommunikation mit der Datenquelle 256 Befehle ausführen 256
DataReader verwenden 259 Schema Discovery 261
\l.k Mit Daten arbeiten 263 Einführung in DataSets 263 DataAdapter verwenden 265
17.5 Zusammenfassung 268
12
Kapitel 18 Erweiterte ADO.NET-Techniken 269
18.1 Die neue, verbesserte DataTable-Klasse 269 Eine DataTable mit XML laden und speichern 269
Die neue Klasse DataTableReader 272
18.2 Asynchroner Datenzugriff 272
18.3 Stapelaktualisierung von Daten 27^
18.4 Der neue Namensraum System.Transactions 276
Explizite Transaktionen 277
Implizite Transaktionen 278
Zusammenfassung 281
Kapitel 19 ADO.NET-Datenprovider 283
19.1 Einführung in ADO.NET-Datenprovider 283
19.2 Providerfactories 283 Die Liste der installierten Providerfactories abrufen 28^
Eine Verbindung mithilfe einer Providerfactory einrichten 285
19.3 Verbindungsstrings 286
194 Datenquellen aufzählen 288
19.5 Zusätzliche Providerinformationen abrufen 289 Die Methode RetrieveStatistics 289
Schemainformationen von Datenprovidern abrufen 291
19.6 Einen benutzerdefinierten ADO.NET-Datenprovider erstellen 292
19.7 Zusammenfassung 293
Kapitel 20 Stark typisierte DataSets 295
20.1 Einführung in typisierte DataSets 295
Typisierte DataSets mit einem XSD-Schema erstellen 296
Typisierte DataSets mit dem Designer erstellen 297
Programmierung mit typisierten DataSets 298
20.2 Typisierte Daten mit aktuellen Daten verbinden 299 DataSets mit einem DataAdapter manuell füllen 300
Typisierte DataSets mitTableAdapter-Objekten füllen 300
Typisierten DataSets zusätzliche Abfragen hinzufügen 30^
Ein typisiertes DataSet mit Anmerkungen versehen 305
Typisierte DataSets mit partiellen Klassen erweitern 308
20.3 Zusammenfassung 309
13
halt
Kapitel 21 Programmierung mit dem SQL Server 2005 311
21.1 Einführung in den SQL Server 2005 als CLR-Host 311
21.2 Gespeicherte Ctt-Prozeduren erstellen 312
21.3 Benutzerdefinierte Ctt-Funktionen erstellen 315
214 Benutzerdefinierte Ctt-Typen erstellen 317
21.5 Die neue serverseitige SQL-Bibliothek 322
21.6 MARS (Multiple Active RecordSets) 325
21.7 Zusammenfassung 328
Teil k ASP.NET 2.0 - Webanwendungen entwickeln 329
Kapitel 22 Einführung in ASP.NET 2.0 und Web-Formulare 331
22.1 Einführung in ASP.NET 2.0 331 Seiten- und Steuerungshierarchie 332 Einführung in den ASP.NET2.o-Compiler 332 Sicherheit 333 Statusverwaltung 333 Das Web-Konfigurationssystem 33^
22.2 Der Lebenszyklus von ASP.NET-Seiten 33^ Die Phasen der Darstellung von ASP.NET-Seiten 335
Ereignisse im Lebenszyklus von ASP.NET-Seiten 336
22.3 Überblick über die Steuerelemente in ASP.NET 3^0
22.4 ASP.NET-Anwendungen erstellen und debuggen 3kk ASP.NET-Anwendungen erstellen und entwickeln 3Mt
ASP.NET-Anwendungen debuggen 3«
22.5 Ereignisse und Postbacks handhaben 31+6
22.6 Interaktive dynamische Seiten mit Clientcallbacks 3^8
22.7 Zusammenfassung 357
Kapitel 23 Statusverwaltung in ASP.NET 2.0 359
23.1 Der Anwendungsstatus 359
23.2 Der Sitzungsstatus 362 Der standardmäßige prozessinterne Statusprovider 363 DerASP.NET-Statusserver-Provider 367 Der SQL Server-Sitzungsstatus-Provider von SQLServer 371 Ereignisse des Sitzungsstatus handhaben 37^
23.3 Der Viewstate 376
234 Statusverwaltung in Webfarmen 378 Der Anwendungsstatus in Webfarmen 378
Der Sitzungsstatus in Webfarmen 379
Der Viewstate in Webfarmen 380
23.5 Zusammenfassung 381
Kapitel 24 Masterseiten 383
211.1 Als es noch keine Masterseiten gab 383 Der Bedarf nach einer konsistenten GUI 383
Eine konsistente GUI in ASP.NET 1.1 erstellen 38^
24.2 Einführung in Masterseiten 385 Master- und Inhaltsseiten 385
Eine erste Masterseite 386
Eine erste Inhaltsseite 387
Standardmäßige Masterseiten 389
Hinter den Kulissen von Masterseiten 389
2k3 Erweiterte Techniken zu Masterseiten 390
Verschachtelte Masterseiten 390
Die Eigenschaft »Master« 391
Stark typisierte Masterseiten 392
Relative Pfade 393
244 Zusammenfassung 39^
Kapitel 25 Personalisierung und Individualisierung mitASP.NET 395
25.1 Maßgeschneiderte Benutzeroberflächen mit Stilen und Skins 395
25.2 ASP.NET-Benutzerprofile ^00
Anwendungsdienste einrichten itoo
Profilprovider einrichten tf02
ASP.NET-Profile 403
25.3 Benutzeranpassung mit Stilen und Profilen ^08
25.it Zusammenfassung 411
Kapitel 26 Einführung in Webparts V3
26.1 Grundlagen zu Webparts V3
26.2 Personalisierungsprovider V7
26.3 Eine erste Webpart-Seite ^18
15
Inhalt
26.1» Webparts erstellen 427
26.5 Verbundene Webparts erstellen 428
26.6 Zusammenfassung 434
Kapitel 27 Datengesteuerte benutzerfreundliche Webanwendungen 435
27.1 Einführung in die Datenbindung in ASP.NET 435
Das Datenquellenmodell 435
Datenquellen erstellen 436
Datengebundene Steuerungshierarchie 439
27.2 Datengebundene Steuerelemente 441 Das GridView-Steuerelement 441
Das DetailsView-Steuerelement 441
Das FormView-Steuerelement 442
Das TreeView-Steuerelement 444
27.3 Erweiterte Techniken zur Datenbindung 446 Eine Objektdatenquelle erstellen und nutzen 446
27.it Zusammenfassung 448
Kapitel 28 ASP.NET-Anwendungen schützen 449
28.1 Sicherheit durch Authentifizierung 449 Windows-Authentifizierung 450
Passport-Authentifizierung 451
Formularauthentifizierung 452
Benutzerverwaltung über Mitgliedschaften 455
28.2 Sicherheit durch Autorisierung 458 Autorisierung durch Rollen 459
28.3 Die Sicherheitssteuerelemente von ASP.NET 462
Login 462
LoginName 464
LoginStatus 464
LoginView 464
PasswordRecovery 466
ChangePassword 466
CreateUserWizard 467
28.it Erweiterte ASP.NET-Sicherheit 468
Geschützte Konfigurationseinstellungen 468
28.5 Zusammenfassung 471
16
Kapitel 29 Benutzerdefinierte ASP.NET-Provider erstellen 473
29.1 Der Mitgliedschaftsprovider wi3 Einführung in die Basisklasse MembershipProvider k7k
Ein Mitgliedschaftsschema implementieren k75
Einen benutzerdefinierten Mitgliedschaftsprovider erstellen wiS
Den Mitgliedschaftsprovider konfigurieren und installieren k8k
29.2 Der Rollenprovider 485 Einführung in die Basisklasse RoleProvider 486
Ein Rollenschema implementieren 1+87
Einen benutzerdefinierten Rollenprovider erstellen 487
Den Rollenprovider konfigurieren und installieren 492
29.3 Der Profilprovider 493
Einführung in die Basisklasse ProfileProvider 493
Ein Profilschema implementieren ^93
Einen benutzerdefinierten Profilprovider erstellen 9̂14-
Den Profilprovider konfigurieren und installieren 499
29.it Weitere Provider 499 Einführung in den SessionState-Provider 499
Einführung in den SiteMap-Provider 500
29.5 Zusammenfassung 501
Kapitel 30 ASP.NET-Steuerelemente entwickeln 503
30.1 Benutzersteuerelemente erstellen 503
30.2 Serversteuerelemente erstellen 507
30.3 Statusverwaltung in Serversteuerelementen 512
30.it Zusammenfassung 517
Kapitel 31 ASP.NET-Verwaltung und -Überwachung 519
31.1 Einführung in die neue Systemüberwachung 519 Die Systemüberwachung 521
Benutzerdefinierte Ereignisse erstellen 524
Benutzerdefinierte Ereignisprovider erstellen 528
31.2 ASP.NET-Leistungsindikatoren 529
31.3 Zusammenfassung 532
17
Inhalt
Teil 5 Webdienste 533
Kapitel 32 Funktionen mit Webdiensten bereitstellen 535
32.1 Einführung in Webdienste 535
Funktionsweise von Webdiensten 536
32.2 Ein einfacher »Hello World«-Dienst 536
32.3 Transaktionale Dienste erstellen 5kk
32.4 Statusverwaltung in Webdiensten 51+5
32.5 Zusammenfassung 5^7
Kapitel 33 Erweiterte Webdienstprogrammierung 549
33.1 SOA-Design (Service-Oriented Architecture) 5^9 Lose Kopplung und Abhängigkeiten 5^9
SOA als Lebenseinstellung 550
33.2 Web Services Discovery 553
33.3 Benutzerdefinierte SOAP-Header 555
334 Sichere Webdienste programmieren 558
33.5 Datenbindung von Windows Forms an Webdienste 560
33.6 Zusammenfassung 563
Teil 6 Windows Forms 2.0 - Anwendungen entwickeln 565
Kapitel 34 Einführung in Windows Forms 2.0 567
3k-t Grundlagen von Windows Forms 567
Windows Forms und Web-Formulare im Vergleich 568
34.2 Eine Windows Forms-Anwendung erstellen 570
3ft.3 Der Windows Forms-Designer 571
Das Dokumentgliederungsfenster 572 Steuerelemente mit einrastenden Linien ausrichten 573 Größenveränderbare Formulare erstellen 57^
34.1» Professionelles Design von Benutzeroberflächen 576 Farbeinsatz 577 Größenbewusstsein 577 Komplexität 577
18
Die Anzahl der Klicks 577
Intuitives Design 578
jij.5 Zusammenfassung 578
Kapitel 35 Die Steuerelementbibliothek von Windows Forms 579
35.1 Allgemeine Steuerelemente 579
Das Button-Steuerelement 580
Das CheckBox-Steuerelement 580
Das CheckedüstBox-Steuerelement 580
Das ComboBox-Steuerelement 580
Das DateTimePicker-Steuerelement 581
Das Label-Steuerelement 581
Das LinkLabel-Steuerelement 581
Das ListBox-Steuerelement 582
Das ListView-Steuerelement 582
Das MaskedTextBox-Steuerelement 583
Das MonthCalendar-Steuerelement 58(4.
Das Notifylcon-Steuerelement 58^
Das NumericUpDown-Steuerelement 581+
Das PictureBox-Steuerelement 585
Das ProgressBar-Steuerelement 585
Das RadioButton-Steuerelement 585
DasTextBox-Steuerelement 585
Das RichTextBox-Steuerelement 586
Das ToolTip-Steuerelement 586
DasTreeView-Steuerelement 587
DasWebBrowser-Steuerelement 587
35.2 Container 587
Das FlowLayoutPanel-Steuerelement 588
Das GroupBox-Steuerelement 588
Das Panel-Steuerelement 589
Das SplitContainer-Steuerelement 589
DasTabControl-Steuerelement 589
DasTableLayoutPanel-Steuerelement 589
35.3 Menüs und Symbolleisten 590
Das ContextMenuStrip-Steuerelement 590
Das MenuStrip-Steuerelement 591
Das StatusStrip-Steuerelement 591
19
halt
Das ToolStrip-Steuerelement 591
DasToolStripContainer-Steuerelement 591
35.it Steuerelemente zur Datenbearbeitung 591 Die DataSet-Komponente 592
Das DataGridView-Steuerelement 592
Die BindingSource-Komponente 592
Das BindingNavigator-Steuerelement 592
Das ReportViewer-Steuerelement 593
35.5 Die Gruppe der Komponenten 593 Die BackgroundWorker-Komponente 593
Die DirectoryEntry-Komponente 593
Die DirectorySearcher-Komponente 594
Die ErrorProvider-Komponente 594
Die EventLog-Komponente 594
Die FileSystemWatcher-Komponente 594
Die HelpProvider-Komponente 595
Die Imageüst-Komponente 596
Die MessageQueue-Komponente 596
Die PerformanceCounter-Komponente 596
Die Process-Komponente 596
Die SerialPort-Komponente 596
Die ServiceController-Komponente 597
Die Timer-Komponente 597
35.6 Komponenten und Steuerelemente für das Drucken 597 Die PageSetupDialog-Komponente 597
Die PrintDialog-Komponente 597
Die PrintDocument-Komponente 597
Die PrintPreviewControl-Komponente 598
Die PrintPreviewDialog-Komponente 598
35.7 Dialogfeldkomponenten 598 Die ColorDialog-Komponente 598
Die FolderBrowserDialog-Komponente 598
Die FontDialog-Komponente 598
Die OpenFileDialog-Komponente 599
Die SaveFileDialog-Komponente 599
35.8 Zusammenfassung 599
Kapitel 36 Erweiterte Programmierung der Benutzeroberfläche 601
36.1 Einführung in GDI+ 601
Grafikobjekte abrufen 602
Ein »Hallo GDI+«-Beispiel 602
Formen zeichnen und ausfüllen 6oi*
Verlaufspinsel 606
36.2 Formulare und Steuerelemente mit Formen 609
36.3 Visuelle Vererbung 610
36.4 Die Benutzeroberfläche globalisieren 612
36.5 Zusammenfassung 611*
Kapitel 37 Datenbindung mit Windows Forms 2.0 615
37.1 Bindung mit typisierten DataSets 615 Das Datenquellen-Fenster 615
Ein DataSet zu einem Formular hinzufügen 616
Ein Beispiel für die Bindung bei typisierten DataSets 618
37.2 Einführung in die BindingSource-Komponente 620
37.3 Verwenden der BindingNavigator-Komponente 623
Grundlagen zum BindingNavigator 623
Vom Benutzer ausgelöste Bindevorgänge 623
374 Arbeiten mit dem DataGridView 625 Grundlagen zum DataGridView 626
Eine ComboBox-Spalte in einem DataGridView 628
Erweiterte Anpassung der Zellen 630
Ein »ungebundenes« DataGridView 633
37.5 Datenbindung mit Objekten 63^
Grundlagen der Objektdatenbindung 63^
Die Schnittstellen lEditableObject und INotifyPropertyChanges 636
37.6 Bindung von übergeordneten und Detailtabellen 639
37.7 Zusammenfassung 6^0
Kapitel 38 Intelligente Clients entwickeln 6(+i
38.1 Webdienstnutzung in der Praxis 642
Einen Webdienst-URL über UDDI abrufen 642
38.2 Das neue System für Anwendungseinstellungen 643
38.3 Unterstützung für Offline- und Onlinebetrieb 6^6
21
38.4 Benutzerauthentifizierung und -autorisierung 649
38.5 Nutzung von Multithread-Webdiensten 651
38.6 Die BackgroundWorker-Komponente 652
38.7 Zusammenfassung 655
Kapitel 39 Anwendungen für ClickOnce bereitstellen 657
39.1 Einführung in ClickOnce 657
39.2 ClickOnce-Anwendungen veröffentlichen 660
Bereitstellung über das Web oder eine Netzwerkfreigabe 660
Bereitstellung auf CD 660
Direkter Start der Anwendung im Web oder auf der Netzwerkfreigabe 661
ClickOnce-Anwendungen bereitstellen 661
39.3 ClickOnce-Anwendungen aktualisieren 666
394 Programmierung mit dem NamensraumSystem.Deployment. Application 669
39.5 Zusammenfassung 673
Kapitel i»o Enterprise Services 675
I1O.1 Registrierung von COM+-Komponenten 675
Manuelle Registrierung 675
Automatische Registrierung 676
40.2 Just-in-Time-Aktivierung und Pooling 679
40.3 Komponenten in Warteschlangen 680
40.4 Rollengestützte Sicherheit 683
ijO.5 Transaktionen 683
40.6 Gemeinsam genutzte Eigenschaften 685
40.7 Lose gekoppelte Ereignisse 688
i»o.8 Zusammenfassung 691
Teil 7 Verteilte und Unternehmensanwendungen entwickeln 693
Kapitel 4.1 Remoting 695
41.1 Überblick über Remoting 695
Einführung in die Klasse MarshalByRefObject 696
Single-Call- und Singleton-Objekte im Vergleich 697
V.2 Remotingkanäle 699
Der IPC-Kanal 700
Der TCP-Kanal 703
41.3 Arbeiten mit Leasing 706
i»i.i» Remoting mit Generics 708
41.5 Zusammenfassung 711
Index 713
23