Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ASP.NET Überblick und technischer Einstieg. 2 Was ist neu? Code wird jetzt grundsätzlich kompiliert! VB-Script ist (endlich) abgeschafft! Die Metabase.

Ähnliche Präsentationen


Präsentation zum Thema: "ASP.NET Überblick und technischer Einstieg. 2 Was ist neu? Code wird jetzt grundsätzlich kompiliert! VB-Script ist (endlich) abgeschafft! Die Metabase."—  Präsentation transkript:

1 ASP.NET Überblick und technischer Einstieg

2 2 Was ist neu? Code wird jetzt grundsätzlich kompiliert! VB-Script ist (endlich) abgeschafft! Die Metabase ist abgeschafft! WebForms WebServices Statemanagement Servererweiterungen ohne ISAPI...

3 3 System.Web Caching Configuration ServicesUI SessionState HtmlControls WebControls Description Discovery Security Protocols ASP.NET Klassen

4 4 Das ASP-Prinzip ASP-Datei ASP.DLL interpretieren HTML Server Browser

5 5 Das ASP.NET-Prinzip ASPX-Datei XSPISAPI.DLL.NET Klasse erstellen gen.vb gen.DLL kompilieren HTML Controls rendern Server Common Language Runtime Browser

6 6 IIS WebForms WebServices Common Language Runtime ASP.NET in der Übersicht app.aspx … … app.asmx class X { [WebMethod] public int method1() { … } } HTTP SOAP

7 7 WebServices Einfaches Programmiermodell Erstellen Sie eine ASMX-Datei, die eine Klasse mit den Methoden enthält, die Sie zur Verfügung stellen möchten Das Hinzufügen des Attributs WebMethod zu einer Public-Methode macht sie automatisch zu einem WebService ASP.NET macht den Rest Erzeugen der Service-Beschreibung als WSDL-Datei (WebService Description Language) Compile on demand

8 8 WebServices

9 9 WebForms Keine Scriptsprachen mehr! Verwenden echter Sprachen: VB.NET, C#,... Seite wird beim ersten Aufruf komplett auf dem Server kompiliert Server sendet dann die kompilierte Seite als HTML an den Browser Seiten können serverseitige UI-Controls verwenden Diese Controls werden WebControls genannt

10 10 WebControls Erkennbar am Zusatz runat="server" Erzeugen serverseitig HTML 3.2-konformen Output Zugriff auf Control-Eigenschaften anstelle eines x-fachen "Request. " Konsistenter Code: z.B.: Einheitliches Objektmodell Eventgesteuertes Programmiermodell VB for the Web

11 11 WebControls WebControls merken sich Ihren Zustand (Viewstate) nach einem POST stehen die eingegebenen Werte automatisch wieder in den Controls realisiert über ein verstecktes Feld im HTML-Code, den der Server generiert Controls können zusammengesetzt werden Einfaches Beispiel 2 Textfelder für die Eingabe von Vor- und Nachname einer Person

12 12 WebControls

13 13 Das DataGrid Control Funktioniert wie das DataGrid Control in VB bindet Daten aus einer Datenquelle an das Control serverseitig wird auf der Basis der Daten eine HTML-Tabelle erstellt und an den Browser geschickt Aussehen der HTML-Tabelle kann über Templates angepasst werden

14 14 DataGrid Control

15 15 HTML und Code trennen Code übersetzen csc.exe /target:library MyClass.cs vbc.exe /target:library MyClass.vb ASPX-Datei um folgende Zeile ergänzen Diese Technik nennt man CodeBehind!

16 16 CodeBehind

17 17 ASP.NET Anwendungen Eine Anwendung besteht aus ASP.NET Pages WebForms WebServices Komponenten (assemblies) Konfigurationsdateien config.web global.asax Sämtliche Elemente einer Anwendung müssen sich in einem Verzeichnis befinden

18 18 am1.aspx config.web C:\inetpub\applications global.asaxconfig.web rc2.aspxrc1.aspx \MyApp1 \MyApp2 assembly1.dllassembly2.dll \bin Aufbau einer Anwendung

19 19 ASP und ASP.NET Beide Anwendungsarten können parallel betrieben werden Die Anwendungsmigration erfordert Änderungen Scripte müssen innerhalb des Blocks … deklariert werden Syntaktische Änderungen in VB.NET gegenüber VB-Script

20 20 ASP und ASP.NET Von VB-Script nach VB.NET Parameter sind standardmäßig als ByVal deklariert Die Schlüsselwörter SET und LET sind nicht mehr vorhanden Es gibt keine Default-Eigenschaften mehr RS("Name").Value anstelle von RS("Name")

21 21 Installation ASP.NET Anwendungen sind grundsätzlich voneinander isoliert Verschiedene Anwendungen können parallel mit verschiedenen Versionen einer Komponente arbeiten Installation einer ASP.NET Anwendung durch Erstellen eines Verzeichnisses mit anschließendem Filecopy Keine Registryänderungen (REGSVR32) Keine Änderungen in der IIS-Metabase Kein Neustart des Webservers Uninstall Verzeichnis löschen

22 22 Komponente installieren Code übersetzen csc.exe /target:library MyClass.cs vbc.exe /target:library MyClass.vb Filecopy in das bin-Verzeichnis der Anwendung copy MyClass.dll \wwwroot\ \bin\ Klasse anlegen und benutzen

23 23 Komponente entfernen Entfernen der Komponente aus dem bin-Verzeichnis der Anwendung del MyClass.dll

24 24 Komponente aktualisieren Filecopy der Komponente in das bin-Verzeichnis der Anwendung Aufrufen dieser Komponente innerhalb einer ASP.NET Anwendung Ändern Sie den Sourcecode und erstellen Sie eine neue Version der Komponente Führen Sie erneut ein Filecopy der Komponente in das bin-Verzeichnis der Anwendung aus

25 25 Komponenten

26 26 Konfiguration Konfigurationsdaten werden in XML-Dateien abgelegt human-readable and human-writable Keine speziellen APIs mehr (IIS-Metabase) Einfaches Handling für Entwickler und Administratoren Datei CONFIG.WEB

27 27 Konfiguration App Settings Datei CONFIG.WEB im root-Verzeichnis global gültige Standardeinstellungen sind in folgender Datei zu finden \Microsoft.NET\Framework\ \config.web App Events Datei GLOBAL.ASAX im root-Verzeichnis

28 28 App Settings CONFIG.WEB im root-Verzeichnis erstellen Zugriff auf diese Daten mit folgendem Code Dim Config as HashTable Config = Context.GetConfig("appsettings") Dim MyDsn = Config("dsn")

29 29 App Events Bei einer unbehandelten Exception wird das Event Application_Error gefeuert Zugriff auf Request-Objekt vorhanden Zugriff auf Exception-Objekt vorhanden Mögliche Vorgehensweise Eintrag in Eventlog erstellen Einsatz der Framework-Klassen für den Zugriff auf das Eventlog

30 30 Settings und Events

31 31 Page Tracing Folgende Direktive am Seitenanfang einfügen Trace-Aufrufe an den gewünschten Stellen hinzufügen Trace.Write("MyApp", "Button Clicked") Trace.Warn("MyApp", "Value: " + value) Seite mit dem Browser aufrufen

32 32 App Tracing CONFIG.WEB im root-Verzeichnis erstellen Zugriff auf die Aufzeichnungen per URL (à spezieller HTTP-Handler)

33 33 Tracing

34 34 Debugging CONFIG.WEB im root-Verzeichnis erstellen Debugger einbinden (-> attachen) Breakpoints setzen Seite bzw. Service im Browser aufrufen

35 35 Debugging

36 36 Statemanagement Cookieless session Session ID wird in die URL eingebaut Cookie auf der Clientseite nicht mehr notwendig passiert automatisch, Code ist nicht erforderlich Bei statischen und dynamisch generierten Seiten External Session State Statusinformationen werden extern gespeichert Crash-Resistent, überlebt Neustarts

37 37 Cookieless Sessions Für Session IDs werden keine Cookies mehr benötigt Mitführen der Session ID in URL Codeänderungen sind nicht erforderlich

38 38 Cookieless Sessions CONFIG.WEB im root-Verzeichnis erstellen Folgende Zeilen hinzufügen:

39 39 Cookieless Sessions

40 40 External Session State ASP State Service auf dem Rechner starten net start aspstate CONFIG.WEB im root-Verzeichnis der Anwendung erstellen und diesen Rechner referenzieren

41 41 External Session State

42 42 ASP.NET Architektur Unmanaged Code Managed Code...HTTP Handler HTTP Module HTTP Runtime Host (IIS, Internet Explorer) HTTP Request

43 43 HTTP Handler Funktionalität von ASP.NET an spezielle Anforderungen anpassen möglich über das "Einklinken" in den Request- Mechanismus Vergleichbar mit ISAPI-Extensions einfach zu implemetieren Diesen Code nennt man HTTP Handler Beispiel für einen HTTP Handler Transformieren von Dokumenten per XSL

44 44 HTTP Handler Handler-Komponente erstellen Komponente in das bin-Verzeichnis der Anwendung kopieren Den HTTP-Handler der Anwendung per CONFIG.WEB bekannt machen

45 45 HTTP Handler

46 46 Fragen?

47 47 Mehr Informationen MSDN online ASP.NET Quickstart Samples, Samples, Samples,... ASP.NET Sites Artikel im VBA-Magazin 1/2001

48 48 Glossar API – Application Programming Interface: Definierte Programmierschnittstelle für den Zugriff auf Systemfunktionen IIS – Internet Information Server: Der Webserver von Microsoft ISAPI- Internet Server API: Mit dieser Schnittstelle können Erweiterungen für den IIS entwickelt werden. Solche Erweiterungen können nur mit C++ programmiert werden. Cookie: Kennung, die auf der Festplatte eines Benutzers abgelegt wird. Mit dieser Kennung kann eine Webseite herausfinden, ob dieser Benutzer die Seite zuvor schon besucht hat. Die Kennung wird auch Session ID genannt XML - eXtensible Markup Language: Textbasiertes, allgemeines Datenformat, das Grundregeln für den Aufbau eigener Datenformate definiert. XSL - XML Stylesheet Language: XML-basierte Sprache, mit der Transformationen von XML-Daten definiert werden können. CLR – Common Language Runtime: gemeinsame Laufzeitumgebung für alle.NET Anwendungen. MSIL – Microsoft Intermediate Language Managed Code: In der.NET Plattform wird kein nativer Code mehr erzeugt. Stattdessen generieren Compiler unter.NET eine Zwischensprache (MSIL), die dann unter Aufsicht der CLR bei Bedarf in nativen Code übersetzt und ausgeführt wird. Deshalb wird der von den Compilern erzeugte Code auch Managed Code genannt.


Herunterladen ppt "ASP.NET Überblick und technischer Einstieg. 2 Was ist neu? Code wird jetzt grundsätzlich kompiliert! VB-Script ist (endlich) abgeschafft! Die Metabase."

Ähnliche Präsentationen


Google-Anzeigen