Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ASP.NET Überblick und technischer Einstieg

Ähnliche Präsentationen


Präsentation zum Thema: "ASP.NET Überblick und technischer Einstieg"—  Präsentation transkript:

1 ASP.NET Überblick und technischer Einstieg
E3 - ASP.NET - Überblick und technischer Einstieg ASP.NET Überblick und technischer Einstieg

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 E3 - ASP.NET - Überblick und technischer Einstieg
ASP.NET Klassen System.Web Services UI Description HtmlControls Discovery WebControls Protocols Caching Security Configuration SessionState

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

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

6 ASP.NET in der Übersicht
E3 - ASP.NET - Überblick und technischer Einstieg ASP.NET in der Übersicht app.aspx <HTML> <script> </script> </HTML> app.asmx class X { [WebMethod] public int method1() { … } } HTTP SOAP IIS WebForms WebServices Common Language Runtime app.asmx. class X { [WebMethod] public int. method1() { … } } HTTP. SOAP. IIS. WebForms. WebServices. Common Language Runtime.", "width": "800" }

7 E3 - ASP.NET - Überblick und technischer Einstieg
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 WebServices

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 WebControls Erkennbar am Zusatz runat="server"
Erzeugen serverseitig HTML 3.2-konformen Output Zugriff auf Control-Eigenschaften anstelle eines x-fachen "Request.<Controlname>" Konsistenter Code: z.B.: <asp:TextBox runat="server"> <asp:TextBox TextBoxMode="Password"> <asp:TextBox Rows="5"> Einheitliches Objektmodell Eventgesteuertes Programmiermodell VB for the Web

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 WebControls

13 E3 - ASP.NET - Überblick und technischer Einstieg
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 DataGrid Control

15 E3 - ASP.NET - Überblick und technischer Einstieg
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! Inherits="MyClass" Src="MyClass.cs"%>

16 CodeBehind

17 E3 - ASP.NET - Überblick und technischer Einstieg
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 Aufbau einer Anwendung
E3 - ASP.NET - Überblick und technischer Einstieg Aufbau einer Anwendung C:\inetpub\applications \MyApp1 \MyApp2 rc1.aspx rc2.aspx \bin am1.aspx config.web global.asax config.web assembly1.dll assembly2.dll

19 ASP und ASP.NET Beide Anwendungsarten können parallel betrieben werden
Die Anwendungsmigration erfordert Änderungen Scripte müssen innerhalb des Blocks <script runat=server> … </script> deklariert werden Syntaktische Änderungen in VB.NET gegenüber VB-Script deklariert werden. Syntaktische Änderungen in VB.NET gegenüber VB-Script.", "width": "800" }

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 E3 - ASP.NET - Überblick und technischer Einstieg
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 Komponente installieren
E3 - ASP.NET - Überblick und technischer Einstieg 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\<appname>\bin\ Klasse anlegen und benutzen

23 E3 - ASP.NET - Überblick und technischer Einstieg
Komponente entfernen Entfernen der Komponente aus dem bin-Verzeichnis der Anwendung del MyClass.dll

24 Komponente aktualisieren
E3 - ASP.NET - Überblick und technischer Einstieg 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 Komponenten

26 E3 - ASP.NET - Überblick und technischer Einstieg
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 E3 - ASP.NET - Überblick und technischer Einstieg
Konfiguration App Settings Datei CONFIG.WEB im root-Verzeichnis global gültige Standardeinstellungen sind in folgender Datei zu finden <windir>\Microsoft.NET\Framework\<version>\config.web App Events Datei GLOBAL.ASAX im root-Verzeichnis

28 E3 - ASP.NET - Überblick und technischer Einstieg
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") <configuration> <appsettings> <add key="dsn" value="localhost;uid=sa;pwd=;Database=foo"/> </appsettings> </configuration>

29 E3 - ASP.NET - Überblick und technischer Einstieg
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 E3 - ASP.NET - Überblick und technischer Einstieg
Settings und Events

31 E3 - ASP.NET - Überblick und technischer Einstieg
Page Tracing Folgende Direktive am Seitenanfang einfügen Page Trace="True" %> 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 E3 - ASP.NET - Überblick und technischer Einstieg
App Tracing CONFIG.WEB im root-Verzeichnis erstellen Zugriff auf die Aufzeichnungen per URL (à spezieller HTTP-Handler) <configuration> <trace enabled="true" requestlimit="10"/> </configuration>

33 E3 - ASP.NET - Überblick und technischer Einstieg
Tracing

34 E3 - ASP.NET - Überblick und technischer Einstieg
Debugging CONFIG.WEB im root-Verzeichnis erstellen Debugger einbinden (-> “attachen”) Breakpoints setzen Seite bzw. Service im Browser aufrufen <configuration> <compilation debugmode="true"/> </configuration>

35 E3 - ASP.NET - Überblick und technischer Einstieg
Debugging

36 Statemanagement Cookieless session External Session State
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 E3 - ASP.NET - Überblick und technischer Einstieg
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 E3 - ASP.NET - Überblick und technischer Einstieg
Cookieless Sessions CONFIG.WEB im root-Verzeichnis erstellen Folgende Zeilen hinzufügen: <configuration> <sessionstate cookieless="true"/> </configuration>

39 E3 - ASP.NET - Überblick und technischer Einstieg
Cookieless Sessions

40 External Session State
E3 - ASP.NET - Überblick und technischer Einstieg 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 <configuration> <sessionstate inproc="false" server="localhost" /> </configuration>

41 External Session State
E3 - ASP.NET - Überblick und technischer Einstieg External Session State

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

43 E3 - ASP.NET - Überblick und technischer Einstieg
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 E3 - ASP.NET - Überblick und technischer Einstieg
HTTP Handler Handler-Komponente erstellen Komponente in das bin-Verzeichnis der Anwendung kopieren Den HTTP-Handler der Anwendung per CONFIG.WEB bekannt machen <configuration> <httphandlers> <add verb="*" path="*.bar" type="class,assembly"/> </httphandlers> </configuration>

45 E3 - ASP.NET - Überblick und technischer Einstieg
HTTP Handler

46 E3 - ASP.NET - Überblick und technischer Einstieg
Fragen?

47 E3 - ASP.NET - Überblick und technischer Einstieg
Mehr Informationen MSDN online ASP.NET Quickstart Samples, Samples, Samples, ... ASP.NET Sites Artikel im VBA-Magazin 1/2001

48 E3 - ASP.NET - Überblick und technischer Einstieg
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"

Ähnliche Präsentationen


Google-Anzeigen