© Martin Korneffel, Stuttgart 2007 +++ email: Martin.Korneffel@t-online.de +++ web: trac.biz

Planung C# und ASP.NET 3.5

Tag


Do

Grundlagen .NET 3.5

  1. NET Überblick

    1. Assemblies

    2. MSIL (ILDASM von u01-Hello-World)

    3. Typsicherheit zur Compilations- und Laufzeit (Konvertieren zwischen CPoint und CLine)

    4. Code Access Security

    5. Metainformationen (Versionsnummer) in AssemblyInfo ausfüllen

  2. Visual Web Developer

    1. Verwalten von Projekten mittels VS Asp.Net Webseiten vs. Asp.Net Webanwendungsprojekten

    2. Webanwendungsprojekt u01-hallo anlegen

      1. Projektmappe cs-basics einrichten lassen

      2. Gruß + Kalender mit aktuell markierten Tag ausgeben

    3. Zeilennummern einschalten in den Editoren

    4. Wichtige Fenster

      1. Projekmappenexplorer

      2. Klassenansicht

      3. Datenbankexplorer

      4. Ausgabefenster

    5. Dokumentation MSDN online (http://msdn.microsoft.com/en-us/library/default.aspx)

    6. Aufbau einer einfachen Webanwendung

      1. Trennung zwischen Markup und c#- Code (u01-hallo)

        1. Darstellung des Markup in der Quell- und Entwurfsansicht

        2. Markup als Mischung aus asp und html

        3. Ereignisroutine für SelectedChanged von Kalender- Steuerelement definieren (Rückgabe des ausgewählten Datums)

      2. Konfiguration mittels Web.config

        1. Anlegen einer Anwendungseinstellung

        2. Zugriff auf Anwendungseinstellungen über das Markup ($- Ausdrücke)

      3. Ordnerstruktur

        1. Resourcentabellen in App_GlobalResources

        2. CSS- Dateien in App_Themes

        3. Datenbankdateien in App_Data

    7. Debugger (u02-debug-trace)

      1. Einzelschritt vs. Prozedurschritt

      2. Überwachungsfenster

      3. Traces mittels System.Diagnostics und Asp.Net Trace

        1. Debug.WriteLine

        2. Debug.Assert

        3. VS- Ausgabefenster

  3. Kompilation von C#

    1. Übersetzungsprozess

    2. Präprozessor

    3. Aufbau eines C# Programmes

    4. Namespaces

  4. Veröffentlichen eines Webanwendungsprojektes auf einer lokalen IIS

Grundlagen C#

  1. Literale

  2. Operatoren

    1. checked und unchecked- Intergeroperatoren

    2. Gleitkommaarithmektik mit Nan und infinity

  3. Datentypen

    1. Liste der CTS- Typen

    2. Datum und Uhrzeit mit DateTime verwalten

Fr

Grundlagen C# 2

  1. Werte- und Referenztypen

    1. Speicherverwaltung mit Stack und Heap

    2. Demo: Speichern eines int- Wertes in int x vs CintegerBox y = new CintegerBox

      1. Unterschiede beim Kopieren analysieren

  2. Prinzip der objektorientierten Programmierung

    1. Beschreiben von Weltausschnitten durch Objektmengen (Ferrari von Fred Vollgas)

    2. Klassenbildung auf Objektmengen

    3. Klassendeklaration (Klasse MeasureS oder alternativ Spielkarte...)

      1. Enum- Typen (EnumUnit)

      2. Methoden

        1. ToMeter()

          1. Fallunterscheidungen mit dem switch- Block

      3. Eigenschaften

        1. Schreib/Leseeigenschaft (doubel Measure.Value)

        2. Nur Lese- Eigenschaft (double MeasureS.Unit)

      4. Operator- Overloading

        1. Addition von MeasureS- Werten mittels speziellen + Operators

  3. Konstruktion, Dispose und Finalisierung

    1. Klasse Schiff mit Konstruktor, Destruktor und Dispose- Methode

    2. Objekte Poseidon und Bounty

      1. Erzeugen und vernichten in Schleife-> verzögerte Destruktion

    3. Objekte Bismarck und Hood

      1. Dispose manuell und in using Block

    4. Abschalten der Finalisierung in Dispose mittels GC.SupressFinalize(this)

  4. Vererbungsbeziehungen

    1. Motivation

    2. Basisklasse Fahrzeug, abgeleitete Klassen Benzinfzg, Dieselfzg

    3. Methode tanken(): Überschatten mittels new, Überschreiben mittels overrides (Polymorphismus)

    4. Anwenden: Ableiten einer Klasse ConsoleDirTreeScanner von DirTree, die alle Dateipfade auf der Kommandozeile ausgibt

  5. Fehlerbehandlung mittels try {…} catch ...

Sa

Grundlagen C# 3

  1. Verwalten von Mengen mit Arrays, Collections, Datatables und Datasets

    1. Arrays

      1. Liste der Primzahlen als 1D- Array

      2. v/t Diagramm als 2D- Array

        1. Anzahl der Dimensionen, GetUpperBound etc, Anz. der Elemente

      3. Besuchen aller Arrayelemente mittels ForEach

      4. Filtern mittels LINQ

    2. Universeller Sortieralgorithmus für Arrays mittels Schnittstelle

      1. Implementieren von IComperable in der Klasse Spielkarte

      2. Array mit Spielkarten- Objekten erzeugen und sortieren

  2. Collections als Implementierungen der Schnittstellen IEnumerable, ICollection, IList und IDictionary

    1. Erweiterbare Primzahllisten mittels ArrayList und List<int>

    2. Ein Kalender als Dictionary<DateTime, string>

  3. Methoden des Datentyps string

    1. Einfügen mittels Insert

    2. Auftrennen mittels Split

ASP.NET Grundlagen

Prozesse einer ASP.NET Webanwendung

  1. Lebenszyklus einer Webform

    1. Objektmodell für den Request/Response Zyklus

    2. Ereignisketten

    3. c# Ereignishandler in CodeBehind- Dateien

    4. Beispiel: Summe aus Zwei

  2. Viewstate

  3. Anwendungs- und Sitzungszustand

    1. Ereignishandler für Sessions und Aplikationen in Global.asax

    2. Bsp.: Zählen aller Request in einer Sitzung

    3. Bsp.: Zählen aller Sessions einer Anwendung

Fr

ADO.NET und DataSourceControls

  1. SqlExpress einrichten

    1. Angemeldeten Benutzer Recht zur Anmeldung und anlegen von Datenbanken geben

    2. Datenbank DBArtikel anhängen

  1. Ado.Net Basics

    1. Datenbankverbindungen

      1. Connection- Strings und ConnectionStringBulider

        1. Verbindungszeichenfolge aus Anwendungseinstellung einlesen und mittels ConnectionStringBuilder manipulieren (Mars einschalten)

      2. Datenbankverbindungen

        1. Öffnen und schließenden

        2. Transaktionen beginnen

    2. Daten aus Tabellen lesen und schreiben mittels AdoNet elementar

      1. Einzelnen aggregierten Wert abrufen (Gesamtwert des Lagerbestandes in DBArtikel)

      2. Komplexes Resultset abrufen mittels Datareader (SP ListeAlleArtikelZumLieferanten-> Ausgabe in eine <asp:Table.../>)

      3. Lieferanten hinzufügen

    3. DataSets und TableAdapter

      1. DataSet als Datenzugriffslayer auf ArtikelDB anlegen

      2. TableAdapter für Abfragen und Aufruf von SP's konfigurieren

      3. Geschäftsobjekte: Implementieren der Liste aller Artikel als Geschäftsobjekt

      4. Visualisieren der Geschäftsobjektes Artikel mit einer GridView über eine ObjektDatasource

    4. Linq To Sql

      1. DataAccessLayer für DBArtikel mittels Linq To Sql- Klassen aufbauen

      2. Einfache Abfragen mittels Linq auf der ArtikelDetailsView

      3. Geschäftsobjekte: Implementieren der Liste aller Artikel als Geschäftsobjekt

      4. Visualisieren der Geschäftsobjektes Artikel mit einer GridView über eine ObjektDatasource

Sa

Workshop: Implementieren der Webanwendung "Gewinnspiel"

  1. Übersicht des Projektes

  2. Datenbank anlegen

  3. Globale Struktur der Webanwendung

    1. Orderstruktur anlegen

    2. Navigation mittels Sitemap und Steuerelementen

      1. Erzeugen einer Web.Sitemap

      2. Navigations- Steuerelemente Menü- und Sitemap- Path Control

      3. Stylesheets anlegen

      4. Masterpage

        1. Definition von einer Masterpage, die aufteilt in einen Kopf-, Inhalts- und Fußbereich

        2. Kopf mit Logo

  4. Erfassen der Teilnehmerdaten

    1. BussinessObjects für die Teilnehmerdaten mittels Linq To Sql implementieren

    2. Dialog mit Teilnehmer durch Wizzard- Steuerelement strukturieren

    3. Eingaben mit Validatoren absichern

    4. Teilnehmerdaten in Datenbank übertragen

    5. email an Teilnehmer senden

    6. Log- Eintrag in Textdatei schreiben

  5. Gewinspiel implementieren

    1. Spielregeln

      1. Implementieren der Regeln in einem BusinessObject

    2. Image Map "Gondeln" konfigurieren mit Sensorfeldern auf allen vesteckten Smileys

      1. Click-Handler implementieren

    3. Anzeige der Verstrichenen Zeit seit Spielbeginn

      1. Implementieren einer Stopuhr mittels Ajax UpdatePanel un Timer

  6. Auswertung der Teilnehmerdaten

    1. Übersicht der Teilnehmer (filterbar)

    2. Liste der Klicks pro Teilnehmer

    3. Klickstatistik über alle Teilnehmer (Säulendiagramm mittels Tabellen)

      1. → Benutzerdefiniertes Websteuerelement