O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Microsoft .NET 4.0 Update

Book Description

Dieses Buch zeigt die wichtigsten Neuerungen, die mit Version 4 in .NET Framework Einzug gehalten haben. Der erste Teil beleuchtet unter anderem die Innovationen in der Common Language Runtime (CLR), in C# 4.0 und Visual Basic 10.0 sowie in den Basisbibliotheken. Anschließend gehen die Autoren auf die Neuheiten in Visual Studio 2010 ein und behandeln dabei Code-Editor, Debugger und die verschiedenen Designer. ADO.NET Entity Framework wird ebenso beschrieben wie Windows Communication Foundation (WCF), Windows Workflow Foundation (WF) und Windows Presentation Foundation (WPF). Abschließend lernen Sie die Kernfunktionen von ASP.NET 4.0 sowie die Architekturprinzipien von ASP.NET MVC 2 kennen.

Table of Contents

  1. Microsoft .NET 4.0 – Update
  2. Vorwort
    1. Zielgruppe
    2. Besprochene Version
    3. Zielsetzung des Buchs
    4. Zusatzprodukte
    5. Themeneinschränkungen
    6. Vollständigkeit
    7. Quellen
    8. Verwendete Programmiersprache
    9. Sprachversion
    10. Danksagungen
    11. Über den Autor Dr. Holger Schwichtenberg
    12. Über den Autor Manfred Steyer
    13. Leserservice
      1. Zugang zum Leser-Portal
    14. Ihre Entwicklungsumgebung für .NET 4.0
      1. Express-Editionen
      2. Installation der Express-Editionen
  3. 1. Sprachen und Basisbibliotheken
    1. Neuerungen in der Common Language Runtime (CLR)
      1. Dynamic Language Runtime (DLR)
      2. Zugriff auf COM-Bibliotheken ohne Primary Interop Assemblys (NoPIA)
      3. Sicherheit
      4. Corrupted State Exceptions
      5. Co- und Contravarianz
      6. Threadpool
    2. Neuerungen in C# 4.0
      1. Optionale Parameter
      2. Benannte Parameter
      3. Dynamische Typisierung
      4. Interoperabilität mit COM
      5. Co- und Contravarianz
        1. Covarianz
        2. Contravarianz
    3. Neuerungen in Visual Basic 10.0
      1. Mehrzeilige Lambda-Ausdrücke
      2. Lambda-Ausdrücke ohne Rückgabewert
      3. Implizite Zeilenfortsetzungen
      4. Automatisch implementierte Eigenschaften
      5. Initialisieren von Auflistungen
      6. Typherleitung bei Arrays
      7. Optionale Parameter und Nullable
      8. Co- und Contravarianz
    4. Neuerungen in den Basisbibliotheken
      1. BigInteger
      2. Complex
      3. SortedSet
      4. Tupel
      5. DynamicObject
        1. ExpandoObject
      6. Übertragen von Daten zwischen Streams
      7. Observer
      8. TryParse für Enum, Guid und Version
      9. String
      10. HasFlag
      11. Prüfung auf 64-Bit
      12. SpecialFolder
      13. Vereinfachter Dateizugriff
      14. Memory-Mapped Files
      15. Verzögertes Instanziieren mit Lazy
      16. Caching für alle
      17. Standortermittlung
      18. Weitere kleinere Änderungen
    5. Code Contracts
      1. Design by Contract
      2. Spec#
      3. Von Spec# zu Code Contracts
      4. Mit Code Contracts entwickeln
      5. Zusicherungen kombinieren
      6. Erweiterte Möglichkeiten
      7. Verträge und Subklassen
      8. Verträge für Schnittstellen und abstrakte Klassen
      9. Einschränken der Vertragsprüfung
      10. Nachträgliches Hinzufügen von Zusicherungen
      11. Fazit zu Code Contracts
    6. Managed Extensibility Framework (MEF)
      1. Überblick
        1. Architektur
        2. Erste Schritte mit MEF
      2. Imports
        1. Auflistungen importieren
      3. Import in Felder und Konstruktorargumente
      4. Verzögerter Import
      5. Exports
        1. Export von Eigenschaften
        2. Export von Methoden als Delegaten
      6. Metadaten
        1. Nicht typisierte Metadaten
        2. Typisierte Metadaten
      7. Kataloge
        1. Arten von Katalogen
        2. Kataloge filtern
      8. Fazit zu MEF
    7. Fazit
  4. 2. Parallelprogrammierung
    1. Überblick
    2. Task Parallel Library (TPL)
      1. Parallele Schleifen
        1. Parallele ForEach-Schleife
        2. Parallele For-Schleife
        3. Parallele Schleifen abbrechen
        4. Thread-lokaler Zustand
      2. Tasks
        1. Einführendes Beispiel
        2. Tasks erzeugen
        3. Tasks mit Rückgabewerten
        4. Aufeinanderfolgende Tasks (Continuations)
        5. Auf Tasks warten
        6. Tasks abbrechen
        7. Tasks und Exceptions
        8. Asynchronous Programming Model
        9. Tasks debuggen mit Visual Studio 2010
    3. Exkurs: TPL und Rekursion
    4. Datenstrukturen für Parallele Programmierung
    5. Parallel LINQ (PLINQ)
    6. Zusammenfassung und Fazit
  5. 3. Visual Studio 2010
    1. Varianten
      1. Visual Studio Test Professional 2010 und Microsoft Test Manager 2010
      2. Vergleichstabelle
      3. Preise für Visual Studio 2010
    2. Ausblicke auf kommende Versionen
      1. Qualitätsstufen
      2. Veröffentlichte Erweiterungen
    3. Keine 64-Bit-Variante
    4. WPF-Oberfläche
      1. Geschwindigkeit
      2. Oberflächlich wenig Neues
    5. Neue Programmiersprache
    6. Neues Projektdialogfeld
    7. Multi-Targeting
    8. Umstellung der Projekte auf Visual Studio 2010
    9. Neuerungen im Code-Editor
      1. Änderung der Schriftgrößen durch Mausrad
      2. IntelliSense
      3. Hervorheben der aktuellen Zeile durch grauen Balken
      4. Zeilenauswahl mit Dreifachklick
      5. Verschieben einer Auswahl mit Cursortasten
      6. Suchfunktion
      7. Definition anzeigen
      8. Verbesserungen der Registerkartenverwaltung
      9. Coderegionen
      10. Vertikale Hilfslinien (Editor Guidelines)
      11. Rechteckauswahl
      12. Testgetrieben entwickeln
      13. Verweise (Referenzen)
      14. Aufrufhierarchie und Sequenzdiagramme
      15. Refactoring
      16. Code Snippets
      17. HTML in der Zwischenablage (HTML Copy)
    10. Neuerungen im Debugger
      1. Debugger Data Tipps
      2. Haltepunkte
      3. IntelliTrace
    11. Neuerungen bei den Oberflächen-Designern
    12. Neuerungen beim EF-Designer
    13. Neuerungen beim Workflow-Designer
    14. Neuerungen beim XSD-Designer
    15. Testen
      1. Testprojekte
      2. Testelemente
      3. Coded UI Tests
      4. Testwirkungsanalyse (Test Impact Analysis)
        1. Aktivierung der Test Impact Analysis
        2. Aufzeichnung von Daten
        3. Anzeige der Analyse
      5. Test Suite Manager
    16. Architektur- und Codeanalyse
    17. Modellierung
    18. Erweiterbarkeit
    19. Team Foundation Server (TFS) 2010
      1. Vereinfachte Installation
      2. TFS 2010 für andere Plattformen
      3. Günstigerer Preis für TFS 2010
      4. Neue Funktionen in TFS 2010
    20. Neuheiten in Visual Web Developer 2010
    21. Neue Projektvorlagen
    22. Code Snippets für ASPX, HTML und JavaScript
    23. Verbesserungen in JavaScript-IntelliSense
    24. Verbreiten von Webanwendungen mit dem IIS Web Deployment Tool
      1. Überblick über das IIS Web Deployment Tool
      2. Erstellen von Deployment-Paketen
        1. Publish
        2. Package/Publish Settings
        3. Build Deployment Package
      3. Verbreiten von Deployment-Paketen
      4. Konfigurationstransformationen
        1. Erstellen der Transformationsdateien
        2. Syntax der Transformationsdateien
        3. Ergebnis der Transformation
  6. 4. Neuerungen in ADO.NET Entity Framework 4.0
    1. Verbesserungen im Designer
      1. Elementvorlage
      2. Forward Engineering oder Reverse Engineering
      3. Auswahl der Datenbankelemente, Pluralisierung und Fremdschlüssel
      4. Entity Framework-Designer
      5. Löschen einer Entität
      6. Aktualisieren des Modells
      7. Weitere Verbesserungen und verbliebene Schwächen
    2. Direkte SQL-Ausführung
      1. Methoden für die direkte SQL-Ausführung
      2. Typen für die Materialisierung
      3. Parametrisierung der SQL-Abfrage
      4. Änderungsverfolgung
      5. Beispiel
      6. Hinweis auf Fallstricke
    3. Geschwindigkeitsverbesserungen
    4. Verbesserungen beim generierten SQL
    5. Transparentes (implizites) Lazy Loading
      1. Formen des Lazy Loading
      2. Nutzung des Transparenten Lazy Loading
      3. Diskussion
      4. Drei Warnungen vor bösen Überraschungen
    6. Steuerung der Codegenerierung durch austauschbare T4-Vorlagen
      1. T4-Vorlagen
      2. Auswahl der T4-Vorlage
      3. Warnung: Visual Studio 2010 überschreibt ohne Warnung Codedateien
      4. Reaktivierung der Standardgenerierung
      5. Tipp: Anpassen der Standardgenerierung
      6. Trennung von Kontext und Entitätsklassen
    7. Persistence Ignorance mit Plain Old CLR Objects (POCO)
      1. POCO-Vorlage
      2. Anforderungen an die Entitätsklassen
      3. Beziehungsaktualisierung
      4. Änderungen gegenüber den Nicht-POCO-Entitätsklassen
    8. Unterstützung für Forward Engineering (Model First/Domain First)
      1. Anlegen eines Modells für Forward Engineering
      2. Erzeugen der Datenbank
      3. Modell- und Schemaversionierung
      4. Anpassung der Datenbankgenerierung
      5. Entity Designer Database Generation Power Pack
      6. Datenbankgenerierung zur Laufzeit
    9. Namensgebung für Objektmengen
    10. Entitätsbeziehungen: Fremdschlüsselattribute zusätzlich zu den Navigationsattributen
      1. Beziehungen über Fremdschlüssel herstellen
      2. Relationship Fix Up
      3. Mit Fremdschlüssel abfragen
    11. Verbesserungen bei LINQ to Entities
    12. Unterstützung für komplexe Typen im Designer
    13. Änderungsverfolgung in verteilten Systemen (Self-Tracking Entities)
      1. Anwendung der T4-Vorlage
      2. Mechanismen der Self-Tracking Entities
      3. Beispielanwendung WPF-DataGrid mit Self-Tracking Entities
      4. Implementierung der Geschäftslogik
      5. Implementierung des Webservice
      6. Variablen
      7. Laden der Objekte
      8. Sonderbehandlung für angefügte und gelöschte Objekte
      9. Speichern
    14. Verbesserte Unterstützung für Stored Procedures
      1. Beispiele
      2. Entity Framework-Assistent
      3. Verwendung der Stored Procedures
      4. Add Function Import
      5. Verwendung der Stored Procedures
    15. ObjectMaterialized()-Ereignis
    16. Modellfunktionen
    17. Änderungen bei den Objektmengen
    18. Code Only als Option über T4-Vorlagen
    19. Änderungen bei MergeOption
    20. Weiterhin nicht unterstützte Funktionen in EF 4.0
  7. 5. Neuerungen in WCF 4.0
    1. Projektvorlagen
    2. Vereinfachte Konfiguration
      1. Beispiel für XML-basierte Konfiguration
      2. Beispiel für codebasierte Konfiguration
      3. Standardprotokollbindung
    3. WCF ohne .svc-Datei
    4. Routing
      1. Architektur des WCF-Routing
      2. Ziele des Einsatzes eines Routers
      3. Aufbau eines Routers mit WCF 4.0
      4. Aufbau der Konfiguration eines Routers
      5. Beispiel: Intermediär zwischen genau einem Server und einem Client
      6. Filterarten
        1. Beispiele für Filter
      7. Ein komplexeres Routing-Beispiel
      8. Eigenen Filter erstellen (ohne eigene Filtertabelle)
      9. Eigenen Filter erstellen (mit eigener Filtertabelle)
    5. Auffinden von Diensten (Discovery)
      1. Ein erforschbarer Dienst
      2. Ein Client zur Erforschung
    6. Verbesserungen für REST-Dienste
      1. Antwortformat dynamisch festlegen
      2. Hilfeseiten (Help Pages)
      3. ASP.NET Cache Profiles
      4. REST-Services über ASP.NET-Routen
      5. WebFaultException<T>
      6. Conditional GET and ETag-Unterstützung
    7. WCF Data Services
      1. Architekturansatz
      2. Überblick über die Neuerungen in .NET 4.0
      3. Anlegen eines Data Service
      4. Aufruf eines Data Service im Webbrowser
      5. Zeilen zählen (Row Count)
      6. Projektionen
      7. Serverseitiges Paging
      8. DataServiceCollection
    8. Sonstige Neuerungen
      1. Änderungen der WCF-Kommunikationsbeschränkungen
      2. Multi-Site-Binding
      3. DataContractResolver für Typermittlung zur Laufzeit
      4. ReceiveContext-Klasse für Genau-Einmal-Zustellungen mit MSMQ ohne Transaktionen
  8. 6. Windows Workflow Foundation 4.0
    1. Überblick
    2. Sequenzielle Workflows
      1. Sequenzielle Workflows erstellen
      2. Sequenzielle Workflows ausführen
      3. Kontrollfluss
    3. Flussdiagramme
    4. Transaktionen und Kompensation
      1. Transaktionen
      2. Kompensation
    5. WCF Workflow Services
      1. Workflow Services erstellen
      2. Workflow Services testen
      3. Workflow Services konfigurieren
      4. Korrelation
    6. Benutzerdefinierte Aktivitäten
      1. CodeActivity
      2. AsyncCodeActivity
      3. NativeActivity
      4. Anpassen der Darstellung benutzerdefinierter Aktivitäten
      5. Bookmarks
    7. Persistenz
      1. SQLWorkflowInstanceStore
      2. Persistenz beim Einsatz von WorkflowApplication
      3. Persistenz beim Einsatz von WCF Workflow Services
      4. Eigenschaften höherstufen
      5. Höherstufen von Eigenschaften bei Verwendung von WCF Workflow Services
        1. Implementierung des Behaviors
        2. Implementierung eines BehaviorExtensionElement
    8. Konfiguration
    9. Ablaufverfolgung (Tracking)
      1. Benutzerdefinierte Tracking Records erzeugen
      2. Tracking Records abonnieren
      3. Tracking Records einsehen
    10. Workflow-Designer in eigenen Anwendungen hosten
    11. WCF-Dienste und -Services in AppFabric hosten
      1. Monitoring
      2. Persistence
    12. Fazit
  9. 7. Windows Presentation Foundation 4.0
    1. Neue Steuerelemente
      1. Calendar und DatePicker
      2. DataGrid
        1. Einführendes Beispiel
        2. Detailbereiche
        3. Validieren von Eingaben
        4. Gruppieren von Einträgen
      3. Menüband (Ribbon)
        1. Einführendes Beispiel
        2. Ribbons verkleinern
        3. SplitButton und ToggleButton
        4. Symbolleiste
        5. Menü
    2. Windows 7-Integration
      1. Vorschaufenster
      2. Schaltflächen im Vorschaufenster (Thumbnail Buttons)
      3. Symbol in der Taskleiste verändern
      4. Sprunglisten (Jump Lists)
      5. Multitouch
    3. Text, Grafik und Animationen
      1. Neuerungen im Textstack
      2. Visual State Manager
      3. Animation Easing Functions
      4. WPF Designer in Visual Studio
    4. Weitere Neuerungen
      1. .NET 4.0. Client Profile
      2. Datenbindung in WPF
      3. Aufruf von JavaScript-Funktionen aus Xbap
      4. Änderungen
    5. Fazit
  10. 8. Neuerungen in ASP.NET 4.0
    1. Umfang der Neuerungen in ASP.NET 4.0
    2. Installation von ASP.NET 4.0
    3. Verbesserungen in den Kernfunktionen von ASP.NET
      1. Starke Verkleinerung der web.config-Dateien
      2. Autostart Web Applications/Preload
      3. Permanente Seitenumleitungen
      4. Komprimierung des Sitzungszustands
      5. Neue Provider
      6. Festlegung der erlaubten URLs
      7. Einzelne Leistungsindikatoren für Webanwendungen in einem IIS-Anwendungspool
      8. Vereinfachtes Routing (URL Rewriting)
      9. Ausdrücke für HTML-Zeichencodierung (HTML Encoded Code Expressions)
    4. Neue Webforms-Serversteuerelemente in ASP.NET 4.0
      1. QueryExtender-Steuerelement
        1. Festlegung der Filter-Bedindungen
        2. Festlegung der Sortierung
        3. Festlegung der Parameter
        4. Praxisbeispiel
      2. ASP.NET Chart-Steuerelement
        1. Voraussetzungen
        2. Aufbau des Steuerelements
        3. Datenbindung
        4. Assistent in Visual Studio
        5. Beispiel
        6. Ausblick
    5. Verbesserungen der bestehenden ASP.NET-Webforms-Serversteuerelemente
      1. Festlegen der Metatags
      2. Steuerung der Client-IDs
        1. Ein Beispiel für die bisherige Herausforderung
        2. ClientIDMode
        3. Lösung mit ClientIDMode=“Static”
        4. ClientIDMode=“Predictable”
        5. ClientIDRowSuffix
      3. Steuerung des Seitenzustands (ViewState)
      4. Persistente Selektion in Listensteuerelementen
      5. Vereinfachungen beim ListView-Steuerelement
      6. Mehr Flexibilität bei Wizard und CreateUserWizard
    6. Verbesserungen beim Rendering
      1. Abschalten des neuen Rendering
      2. Verbesserungen des Menu-Steuerelements
      3. Verbesserungen bei CheckBoxList und RadioButtonList
      4. Kein Erzeugen einer äußeren Tabelle
      5. Validierungssteuerelemente verwenden keine Inline Styles mehr
      6. CSS-Klasse für deaktivierte Steuerelemente
      7. DIV um Hidden Field mit CSS-Klasse aspNetHidden
    7. ASP.NET AJAX
      1. Oktober 2005
      2. November 2005
      3. Januar 2007
      4. November 2007
      5. August 2008
      6. September 2008
      7. Mai 2009
      8. Oktober 2009
      9. November 2009
      10. März 2010
  11. 9. ASP.NET Dynamic Data 4.0
    1. Überblick
    2. Erstellen einer Dynamic Data Webapplikation
    3. Darstellung und Verhalten via Attributen anpassen
    4. Feldvorlagenordner (Field Templates)
    5. Entitätsvorlagen (Entity Templates)
    6. Seitenvorlagen (Page Templates)
    7. Filtervorlagen (Filter Templates)
    8. Verweise auf dynamische Formulare
    9. Zusammenfassung und Fazit
  12. 10. ASP.NET MVC 2
    1. Architektur
      1. Model-View-Controller (MVC)
      2. Überblick zu MVVM (Model-View-ViewModel)
    2. Erste Schritte mit ASP.NET MVC
      1. ASP.NET MVC-Projekt anlegen
      2. Controller anlegen
      3. View anlegen
    3. Controller
      1. Models weiterreichen
      2. Models entgegennehmen
      3. Action-Methoden überladen
      4. View auswählen
      5. URL-Mapping beeinflussen
      6. Zugang zu Action-Methoden beschränken
      7. Asynchrone Controller
      8. Caching von Aufrufen
    4. Views
      1. Typisierte Views
      2. Unterstützung beim Anlegen von Views durch Visual Studio
      3. Partielle Views
      4. Html-Helper
    5. Validieren von Benutzereingaben
      1. Manuelles Validieren
      2. Deklaratives Validieren
        1. Validierungsattribute
        2. Serverseitige deklarative Validierung
        3. Clientseitige Validierung
    6. Areas
    7. Filter
    8. Exkurs: MVC und Dependency Injection
      1. Fallbeispiel ohne Dependency Injection
        1. Implementierung mit ASP.NET MVC
        2. Unit-Test
        3. Diskussion der betrachteten Lösung
      2. Fallbeispiel mit Dependency Injection
        1. Implementierung der Webapplikation
        2. Brückenschlag zwischen ASP.NET MVC und Spring.NET
        3. Testen
    9. Zusammenfassung und Fazit
  13. A. Quellen und weitere Informationen
  14. Stichwortverzeichnis