1 / 54

Web Technologies mit ASP.NET

Web Technologies mit ASP.NET. Thorsten Planeth (Microsoft Student Partner, MCP). Gliederung. Einleitung ASP.NET Ereignisse Datenbindung State Management Sicherheit Modularisierung Webservices Zusammenfassung. Einleitung. Einleitung. ASP.NET. Ereignisse. Datenbindung.

sasha
Download Presentation

Web Technologies mit ASP.NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web Technologies mit ASP.NET Thorsten Planeth (Microsoft Student Partner, MCP) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  2. Gliederung • Einleitung • ASP.NET • Ereignisse • Datenbindung • State Management • Sicherheit • Modularisierung • Webservices • Zusammenfassung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  3. Einleitung Einleitung ASP.NET Ereignisse Datenbindung State Management • Grundlagen Web • HTTP-Response • Kurzübersicht • Einordnung in die Architektur Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  4. 1. Grundlagen Web Einleitung ASP.NET Ereignisse Datenbindung State Management • Client-Server-Architektur • Protokoll: HTTP, HTML • Client: Thin-Clients, JavaScript, VBScript, heterogene Webbrowser • Server: Windows 2003 Server, IIS, ASP.NET (Aktive Server Pages .NET) • Entwicklungsumgebungen: • Visual Studio • Webmatrix • Notepad Internet ASP.NET IIS Windows 2003 Server Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  5. 2. HTTP-Response Einleitung ASP.NET Ereignisse Datenbindung State Management ASP.NET-Engine Webbrowser Windows 2003 Server Internet Security and Acceleration Server Internet Information Server PHP-Engine ISAPI-Engine ASP.NET-Anwendung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  6. 3. Kurzübersicht Einleitung ASP.NET Ereignisse Datenbindung State Management Client Web-Server Browser Client-Software Webanwendung Webservice Web-Server Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  7. 4. Einordnung in die Architektur Einleitung ASP.NET Ereignisse Datenbindung State Management Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  8. ASP.NET Einleitung ASP.NET Ereignisse Datenbindung State Management • Demo (1) • Namespace • ASP.NET Web Forms • Teile einer ASP.NET Web-Form • Das ASP.NET Prinzip • Trennung von Form und Funktion • ASP.NET Server Controls • Standard ASP.NET Controls • Demo (2) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  9. 1. Demo Einleitung ASP.NET Ereignisse Datenbindung State Management • ASP.NET-Webanwendung • Besondere Dateitypen • Web.config • Global.asax • Webform (Endung *.aspx) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  10. 2. Namespace System.Web UI Services Caching Design Configuration Configuration WebControls Description Hosting HtmlControls Discovery Mail Protocols SessionState Einleitung ASP.NET Ereignisse Datenbindung State Management Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  11. 3. ASP.NET Web Forms Einleitung ASP.NET Ereignisse Datenbindung State Management • Controlbasiertes, eventgesteuertes Modell für Web User Interface • Sauber gekapselt, weniger Code • Common Language Runtimeführt den Code aus • Visual C#, Visual Basic®, JScript™ • Bessere Performance • Keine Konflikte mit ASP • Web Forms sind “.ASPX”-Dateien Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  12. 4. Teile einer ASP.NET Web Form Einleitung ASP.NET Ereignisse Datenbindung State Management Directives Code Blocks Static Text Control Tags HTML Tags Data Binding Expressions Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  13. 5. Das ASP.NET Prinzip Einleitung ASP.NET Ereignisse Datenbindung State Management INETINFO.EXE HTTP Request POST /site/form1.aspx..... ASPNET_ISAPI.DLL HTTP Response HTTP 1.1 200 OK ..... ASPNET_WP.EXE form1.aspx form1_aspx.dll <%@ WebService language="c#" class= using System.Web.Services; [WebService(Description="Provides a v public class Simple { [WebMethod(Description=„Returns a nice greeting")] public string Hello() { return "Hello"; } } Page Class Assembly Instanzieren Kompilieren Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  14. 6. Trennung von Form und Funktion Einleitung ASP.NET Ereignisse Datenbindung State Management • Trennung der Funktionalität (Code) vom Layout hat viele Vorteile • In ASP.NET heißt dies „Code Behind“ • „Inherits“ Attribut der @Page Direktive • Code-behind Files • Können vorkompiliert sein oder „on demand“ übersetzt werden • „SRC“-Attribute der Page Direktive • Standard bei Visual Studio.NET:vorkompilierte Code-Behind-Files Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  15. 7. ASP.NET Server Controls Einleitung ASP.NET Ereignisse Datenbindung State Management • Server Controls kapseln ein bestimmtes Verhalten (inklusive User Interface) • Ähnlich zu Visual Basic® • Deklarativ mit runat="server" • Controls erzeugen HTML • Unterschiedliche Clients unterstützbar • DHTML, HTML 3.2, etc. • Eingabe des Clients wird strukturiert • Attribute für die Eingabedaten • Auslösen von Ereignisse Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  16. 8. Standard ASP.NET Controls Einleitung ASP.NET Ereignisse Datenbindung State Management • HTML Controls • Entsprechen den HTML Tags 1:1 • Web Controls • Rendern Client-spezifisches HTML • Streng typisiertes Objektmodell • Manche erzeugen ein HTML tag:Button, TextBox, DropDownList • Andere erzeugen komplexes HTML inklusive Script-Code:DataGrid, Calendar, Validators Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  17. 9. Demo Einleitung ASP.NET Ereignisse Datenbindung State Management • Photoarchiv (1)… Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  18. Ereignisse Einleitung ASP.NET Ereignisse Datenbindung State Management • Events • Abfolge der Events • Ereignisse bei einem ASP.NET-Aufruf Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  19. 1. Ereignisse Einleitung ASP.NET Ereignisse Datenbindung State Management • Ereignisse werden: • Vom Client ausgelöst • Im Server-Code behandelt • Benötigen ein Postback vom Client • Die Daten werden automatisch wieder eingetragen • ViewState-Property ist als Hidden Form Field implementiert • Jedes Control hat eine EnableViewState-Property Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  20. 2. Abfolge der Events Einleitung ASP.NET Ereignisse Datenbindung State Management Page wird geladen und Control-Hierarchy erzeugt Page_Load PostBack Textbox1_Changed 1. Change Events Kostbare Zeit 2. Action Events Button1_Click Control-Hierarchie wird gerendered Page_Unload Page-Objekt wird gelöscht Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  21. 3. Ereignisse bei einem ASP.NET-Aufruf Einleitung ASP.NET Ereignisse Datenbindung State Management • Application_Start (Anwendungsweit) • Application_BeginRequest (Aufrufweit) • Application_AuthenticateRequest (Aufrufweit) • Session_Start (Sessionweit) • Page_Init (Aufrufweit) • Page_Load (Aufrufweit) • Programmausführung… ??? Application_Error (Aufrufweit) • Application_EndRequest (Aufrufweit) • Session_End (Sessionweit) • Application_End (Anwendungsweit) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  22. 4. Demo Einleitung ASP.NET Ereignisse Datenbindung State Management • Datei-Upload Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  23. Datenbindung ASP.NET Ereignisse Datenbindung State Management Sicherheit • Web Forms Datenbindung • Simple Binding • List Binding • Demo Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  24. 1. Web Forms Datenbindung ASP.NET Ereignisse Datenbindung State Management Sicherheit • Ein einfacher, deklarativer Weg um Web UI Controls an Daten zu binden • “Simple” Binding eines Properties eines Controls • “List” Binding an eine Datenquelle:DataGrid, DropDownList • Unterstützung einer Vielzahl von Datenquellen • Vorsicht: „One way snapshot model“ • Im Code muss angegeben werden wann das Binding stattfindet Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  25. 2. Simple Binding Syntax ASP.NET Ereignisse Datenbindung State Management Sicherheit • Binden an: • Eine Property der Seite • Rückgabewert einer Methode • Eine Property eines anderen Controls • Schritt 1: Binding setzen • Deklarativ (in HTML): <asp:Label Text=<%# custID %> … /> • Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs) Label1.DataBind() End Sub Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  26. 2. Simple Binding Beispiel ASP.NET Ereignisse Datenbindung State Management Sicherheit <%@<%@ Page language=“VB” %> <script runat=server> Sub Page_Load(s as Object, e as EventArgs) Label1.DataBind() End Sub </script> <html> <body> <asp:Label id=Label1 runat=server Text=<%# DateTime.Now %> /> </body> </html> Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  27. 3. List Binding Syntax ASP.NET Ereignisse Datenbindung State Management Sicherheit • Alle Klassen die IEnumerable implementieren sind Datenquellen • Schritt 1: Binding setzen • Deklarativ: <asp:DataGrid DataSource=<%# ds %> … /> • Imperativ: DataGrid1.DataSource = ds • Schritt 2: DataBind aufrufen Sub Page_Load(s As Object, e As EventArgs) DataGrid1.DataBind() End Sub Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  28. 3. List Binding Datenquellen ASP.NET Ereignisse Datenbindung State Management Sicherheit • ADO.NET Klassen • DataReader • DataSet • auch DataTable, DataView • Andere IEnumerable Typen • Arraylist • Array • Hashtable • … Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  29. 3. DataList Beispiel ASP.NET Ereignisse Datenbindung State Management Sicherheit <%@ script runat=server> Sub Page_Load(s as Object, e as EventArgs) DataList1.DataSource = GetCustData() DataList1.DataBind() End Sub </script> <html> <body> <asp:DataList id=DataList1 runat=server> <ItemTemplate><%# Container.DataItem %> </ItemTemplate> </asp:DataList> </body> </html> Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  30. 4. Demo ASP.NET Ereignisse Datenbindung State Management Sicherheit • Photoarchiv (2) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  31. State Management Ereignisse Datenbindung State Management Sicherheit Modularisierung • State Management • Arten von State • ASP.NET Session Property • Cookieless Sessions • Session State im SQL Server 2000 Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  32. 1. State Management Ereignisse Datenbindung State Management Sicherheit Modularisierung • HTTP ist verbindungslos • Daher ist wichtig,wo Zustand gehalten wird • ASP.NET unterstützt beim Verwalten Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  33. 2. Arten von State Ereignisse Datenbindung State Management Sicherheit Modularisierung • Application State • Globale Applikationseinstellungen • Am besten für read-only Daten • Session State • Enthält die Ergebnisse bisheriger Interaktionen • Beispiel: Warenkorb Online-Shopping • Cookie State • Zustand der im Client gehalten wird • Control State • Inhalt der einzelnen Controls Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  34. 3. ASP.NET Session Property Ereignisse Datenbindung State Management Sicherheit Modularisierung • Session Property kann programatisch gefüllt werden • Speicherort kann konfiguriert werden (in web.config) • Speicherung im Prozess • Speicherung in einem „state server“ • Speicherung in einem SQL Server • SessionID kann über Cookie oder URL übergeben werden • Konfigurierbar über web.config Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  35. 4. Cookieless Sessions Ereignisse Datenbindung State Management Sicherheit Modularisierung • Über web.config File konfigurierbar <configuration> <system.web><sessionstate cookieless="true"/> </system.web> </configuration> • Automatische Verwaltung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  36. 5. Demo Ereignisse Datenbindung State Management Sicherheit Modularisierung • Photoarchiv (3) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  37. Sicherheit State Management Sicherheit Modularisierung Webservices • Authentifizierung • Formularbasierte Authentifizierung • Windows-Authentifizierung • MS Passport • Autorisierung • Verschlüsselung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  38. 1. Authentifizierung State Management Sicherheit Modularisierung Webservices • Konfiguration erfolgt über Web.Config • Wahl zwischen • Formularbasierter Authentifizierung • Windows-Authentifizierung • MS Passport-Authentifizierung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  39. 1. Authentifizierung: Formularbasiert State Management Sicherheit Modularisierung Webservices • Benutzerdaten werden in der Anwendung gespeichert • Anwendung entscheidet über Authentifizierung • Findet Anwendung im Portal • Vorteile: • Leichte Administration • Geringer Implementierungsaufwand Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  40. 1. Authentifizierung: Windows State Management Sicherheit Modularisierung Webservices • Authentifizierung erfolgt über Windows-Anmeldedaten • Benutzerdaten sind in der Win32-Accesstable gespeichert • Vorteil: • Im Windows-Intranet erfolgt die Authentifizierung automatisch • Nachteil: • Umständliche Administration bei vielen Usern Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  41. 1. Authentifizierung: MS Passport (1/3) State Management Sicherheit Modularisierung Webservices • Aus der Benutzersicht (1/2) • Man hinterlegt einen Login und ein Passwort beim .NET Passport Service. • Dazu kann man weitere Daten speichern, wie z.B. Postadresse • Meldet man sich bei einer Webseite an, die Passport nutzt, wird man direkt an Passport weitergeleitet zum „authentifizieren“. • Passport schickt dann an die Webseite eine Nachricht, ob der Benutzer auch das richtige Passwort wusste und ggf. die Adressdaten. Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  42. 1. Authentifizierung: MS Passport (2/3) State Management Sicherheit Modularisierung Webservices • Aus der Benutzersicht (2/2) • Der Vorteil: Ich brauche bei einer Bestellung meine Adressdaten nicht ständig eintippen. • Der Vorteil: Single SignOnIch muß mir immer nur einen Login/Passwort-Kombo merken • Der Nachteil: Knackt man den Account hat man Zugriff auf viele andere. Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  43. 1. Authentifizierung: MS Passport (3/3) State Management Sicherheit Modularisierung Webservices • Zurzeit findet die Form-Authentifikation statt • Identification soll über MS Passport stattfinden • „PurposeMicrosoft® .NET Passport is a core component of the Microsoft .NET initiative. The .NET Passport single sign-in (SSI) service enables you to give consumers a quick, convenient way to sign in to your site.“ • Vorteile: • Zentrale Benutzeridentifikation • Benutzer braucht sich nur ein Login + Passwort merken • Nachteil: • Daten werden in Amerika von Microsoft gehalten und unterliegen dem amerikanischen Datenschutz (europäischer Datenschutz ist sehr viel strenger) • Großer Aufwand in der Implementierung • Was ist, wenn Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  44. 2. Autorisierung State Management Sicherheit Modularisierung Webservices • Rollenkonzept • Autorisierung kann ebenfalls in der Web.Config eingestellt werden • Es kann statisch festgelegt werden, welche Datei von welcher Rolle oder welchem User ausgeführt werden darf Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  45. Demo State Management Sicherheit Modularisierung Webservices • Photoarchiv (4) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  46. 3. Verschlüsselung State Management Sicherheit Modularisierung Webservices • Machbar über SSL-Protokoll (Secure Socket Layer) • 2 Schritte: • Zertifikat im IIS einrichten • Codezeile einfügen if(!Request.IsSecureConnection) Response.Redirect("https" + Request.Url.AbsoluteUri.Substring(4,Request.Url.AbsoluteUri.Length-4)); Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  47. Modularisierung Sicherheit Modularisierung Webservices Zusammenfassung • Häufig genutzter Code wiederverwenden! • Webusercontrol • Webcustomcontrol • Gerendert • Kombiniert Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  48. Modularisierung (Demo) Sicherheit Modularisierung Webservices Zusammenfassung • Photoarchiv (5) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  49. Webservices Sicherheit Modularisierung Webservices Zusammenfassung • Windows-Service über das Internet verfügbar machen  Webservices • Szenarien: • Zugriff aus Windowsanwendung • Zugriff aus Webanwendung • Zugriff vom Client einer Webanwendung Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

  50. Webservices (Demo) Sicherheit Modularisierung Webservices Zusammenfassung • Photoarchiv (6) Web Technologies mit ASP.NET STC 02. – 03. Juni 2004

More Related