1 / 53

ASP.NET 2.0

ASP.NET 2.0. Vladimir Kjahrenov vladimir@itcollege.ee. Tutvumisring. Kes Te olete ja millega tegelete Milline on Teie varasem kogemus Programmeerimisega Veebilehtede loomisega ASP.NET’iga Mida ootate algavalt kursuselt ?. Mis plaan ?. Mis asi on ASP.NET Kuidas teha lihtsamaid lehti

tanner
Download Presentation

ASP.NET 2.0

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. ASP.NET 2.0 Vladimir Kjahrenov vladimir@itcollege.ee

  2. Tutvumisring • Kes Te olete ja millega tegelete • Milline on Teie varasem kogemus • Programmeerimisega • Veebilehtede loomisega • ASP.NET’iga • Mida ootate algavalt kursuselt ?

  3. Mis plaan? • Mis asi on ASP.NET • Kuidas teha lihtsamaid lehti • Märgistuse kasutamine • Koodi kirjutamine • Veakontroll ja silumine • Kuidas ASP.NET lehti kujundada • Pealikud + nahad, näod jt • Kontrollid • Standardsed, Kommerts, Ise tehtud

  4. Millist tarkvara on vaja ? • Visual Studio 2005 – Vahend .NET rakenduste loomiseks. • Lisainfot http://msdn.microsoft.com/vstudio Programmeerimistee alustamiseks ja katsetamiseks on loodud spetsiaalsed tasuta versioonid Visual Studio Express näol. • Express versioon http://msdn.microsoft.com/vstudio/express/

  5. Üks lihtne veebileht <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML … <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Minu esimene leht</title> </head> <body> Tere maailm! </body> </html>

  6. default.aspx.cs public class default : System.Web.UI.Page { // kood } Üks pisut keerulisem leht • default.aspx <%@ Page Language="C#“ CodeFile=“default.aspx.cs“ Inherits=“default“ %>

  7. Märgistuse kasutamine <%@ … %> <%@ Page … <html> <asp: ….runat=“server”/>

  8. Koodi kirjutamine • Kõik lehed pärinevad System.Web.UI.Page klassist • Loomulikult võite oma kihi vahele ehitada! • Koodi võib kirjutada kõigis .NET keeltes, mille kompilaatorid on ASP.NETile kättesaadavad • Erinevad lehed võib kirjutada erinevates keeltes

  9. Lehe elutsükkel • Page request • Start • Page initialization • Load • Validation • Postback event handling • Rendering • Unload

  10. LoadComplete PreRender SaveStateComplete Render Unload Life-cycle Events PreInit • Init • InitComplete • PreLoad • Load • Control Events

  11. PreInit • Kontrolli IsPostBack omaduse abil, kas tegemist on esimese pöördumisega • Tekita või taasta dünaamilised kontrollid • Pane dünaamiline pealeht (master) • Pane dünaamiline nägu • Loe või määra profiili omadused • ViewState ei ole veel taastatud!

  12. Init • Kutsutakse välja peale • kõigi kontrollide algväärtustamist • ning kõigi nahkade peale tõmbamist • Kasuta kontrollide omaduste • lugemiseks või • Algväärtustamiseks

  13. InitComplete • Kutsutakse välja Page objekti poolt • Kasutada tegevuste jaoks, mis eeldavad kõigi kontrollide algväärtustamist

  14. PreLoad • Kasutada, kui vaja teha midagi enne Load sündmuse tekkimist • Peale seda laetakse lehele ning kõikidele kontrollide ViewState

  15. Load • Page objekt kutsub välja lehel oleva OnLoad meetodi ning seejärel rekursiivselt sama meetodi kõigil kontrollidel ning tema omakorda oma alamkontrollidel kuni leht ja kõik temal asuvad kontrollid on laetud • Kasuta OnLoad meetodit • Kasutaja tegevustest tulenevate omaduste määramiseks ning • Andmebaasiühenduste loomiseks

  16. Control Events • Reageerimine kõigi kontrollide huvi pakkuvatele sündmustele • Sündmusele reageerides tasub alati kontrollida, kas lehel on kõik korras e. Page.IsValid ning kontrollida sama omadust ka kõigil kontrollijatel

  17. LoadComplete • Kasuta seda sündmust tegevusteks, mis vajavad, et lehekülg oleks täielikult laetud

  18. PreRender • Enne seda sündmust • Kutsub Page objekt välja kõigi kontrollide EnsureChildControls meetodi • Iga andmetega tegelev kontroll, mille DataSourceID on määratud kutsub välja enda DataBind meetodi. • PreRender sündmus on kõigil lehel asuvatel kontrollidel. • Kasuta seda sündmust viimaste muudatuste tegemiseks kontrollidele või lehele

  19. SaveStateComplete • Enne selle sündmuse väljakutsumist salvestatakse ViewState • St. kõiki muudatusi kontrollidele ja lehele ignoreeritakse • Seda sündmust saab kasutada olukordades, kus lehekülg on renderdamiseks valmis ning kontrolle pole enam vaja muuta

  20. Render • Page objekt kutsub välja kõigi kontrollide Render meetodid • Render väljastab märgistuse, mis saadetakse sirvijasse • Kui pole tegemist mingi eriti advanced kontrolliga pole erilist vajadust selle meetodi ülekirjutamiseks

  21. Unload • See sündmus kutsutakse välja esmalt kõigil kontrollidel ning seejärel lehel endal. • Kasuta seda otste kokku tõmbamiseks e. • Sulge kõik andmebaasiühendused • Sulge failid • Vabasta muud mitte hallatavad ressursid • Kirjuta logisse viimased read • Kuna leht on selleks hekteks valmis renderdatud ei saa enam sirvijasse minevaid andmeid muuta!

  22. Kontrollid • Standard • AdRotator, BulletedList, Button, Calendar, … • Html • a, p, table, body, title, input, textaera, img, … • Validation • RequiredFieldValidator, RangeValidator, … • Navigation • SiteMapPath, Menu, TreeView

  23. User Controls (.ascx) • Kapseldatud loogika • Peaaegu nagu .aspx, kuid puudub form tag, koos kogu ümbritsevaga • Kõik kontrollid pärinevad System.Web.UI.UserControl klassil • <%Control … • <%Register …

  24. Andmebaas (1) • Millised andmed sobivad • Kuidas tehakse ühendused • Millised kontrollid saavad ise hakkama • Kuidas programselt andmetele ligi saab • xxxConnection • xxxCommand • xxxDataReader • xxxDataAdapter

  25. Andmebaas (2) • Millised andmebaasid sobivad • System.Data.Sql – SQL Server 200x • System.Xml - XML • System.Data.OracleClient – Oracle >= 8i • System.Data.Odbc – ODBC ühendused • System.Data.OleDb - OleDB • System.Data.Common - sõltumatu

  26. SQL Server 2005 • Tasuta Express Edition • Väga võimsad kommerts versioonid • Sisuliselt piiramatu protsessorite, mälu ja ketta maht • Murdis 1M tran/min piiri • Arvestatavatest kommerts andmebaasimootoritest odavaim

  27. SQL Server 2005 • Andmebaasimootor • Arendusvahendid • Service Broker • Analysis Services • Data Transformation Services • Reporting Services • Data Mining

  28. GridView DataList DetailsView FormView Repeater Kontrollid • Andmetega tegelevad kontrollid • RadioButtonList • CheckBoxList • BulletedList • DropDownList • ListBox

  29. Sündmused • DataBinding – enne PreRender sündmust • RowCreated/ItemCreated • RowDataBound/ItemDataBound • DataBound

  30. XMLi põhitõed • XML on tõusutundlik! • Well Formed • 1 juurikas • Ei ole ülekattumist • Igal elemendil on algus ja lõpp • Atribuudid • on ülakomade või jutumärkide vahel • Atribuudid ei kordu • Valid

  31. XMLi kasutamine .NETis • System.Xml • System.Xml.Schema • System.Xml.Serialization • System.Xml.XPath • System.Xml.Xsl

  32. Sisendi kontrollimine • RequiredFieldValidator • RangeValidator • RegularExpressionValidator • CompareValidator • CustomValidator • ValidationSummary

  33. Kontrollijate omadused • Display – kuidas näidatakse • ControlToValidate – mida kontrollida • ErrorMessage – pikk veateade • SetFocusOnError – kontrolli aktiveerimine • Text – lühike veateade • ValidationGroup – millega seotud

  34. Piltide hoidmine andmebaasis • Image/binary(max) – väljad • System.Drawing • System.Drawing.Image • Response.ContentType • Response.BinaryWrite

  35. XMLiga majandamine • Genereerimine • Teisendamine

  36. Lokaliseerimine • Ressursid - .resx • App_GlobalResources • Saadavad kõigil lehtedel terves rakenduses • App_LocalResources • Lehekülje spetsiifilised määrangud • <%@Page Culture="Auto" UICulture="Auto“ %> • <globalization culture="auto" uiCulture="auto"/> • meta:resourcekey=“” • using System.Globalization;

  37. Lokaliseerimine • Lokaalsed ressursid • meta:resourcekey=“võti” • GetLocalResourceObject(“võti.omadus”) • Globaalsed ressursid • <%$ Resources:konteiner,ressurss %> • GetGlobalResourceObject(“konteiner", “ressurss")

  38. Teenusepakkujad • ASP.NET 2.0 kasutab väga paljude funktsioonide juures providereid e. teenusepakkujaid • Teenusepakkujate kasutamine vähendab oluliselt lehel oleva koodi hulka • Kui teile sobib see teenus, mida pakutakse!

  39. Turvalisus • IIS • Veebiserveri seadistused • ASP.NET • Turvamäärangud • Rakendus • Programne kontroll

  40. IIS turvalisus (1)

  41. IIS turvalisus (2)

  42. ASP.NET turvalisus • web.config • system.web <authentication mode=“Forms|Windows” <authorization> <allow users|roles … <deny users|roles … • <location path=“… • <pages • ValidateRequest="true“ • viewStateEncryptionMode="Always“ />

  43. Turvalisus programmis • Kontrolli sisendit! • Kasutaja autentimine • Rollide kasutamine • Kasutaja autoriseerimine - kontrolli, kas • Kas lähteandmed on korrektsed • On tegevuseks õigus • Kas antud oludes võib tegevust teha

  44. System.Security .AccessControl .Authentication .Permissions .Policy .Principal .RightsManagement Turvalisusega seotud nimeruumid • System .Net.Security .Security .Cryptography .Pkcs .Xml .X509Certificates .Web.Security .ServiceModel.Security .Tokens

  45. Valmis ASP.NET kontrollid • Login - autentimine • LoginView - autoriseerimine • PasswordRecovery – abimees kasutajale • LoginStatus – info kasutajale • LoginName – info kasutajale • CreateUserWizard – kasutaja tekitamine • ChangePassword – abimees kasutajale

  46. Teenusepakkujate kohandamine • Kui Teile pakutav teenus ei meeldi siis võite teenusepakkujad ümber ehitada • Ümber ehitamiseks tuleb • olemasolevate teenusepakkujate peale ehitada oma teenusepakkuja • konfiguratsioonis määrata, millist teenusepakkujat kasutada

  47. WebPart • WebPartManager • Üks ja ainukene • WebPartZone • CatalogZone • EditorZone

  48. Ülevaade ASP.NET AJAXist

  49. Ülevaade AJAXist • AJAX – Active JavaScript And XML • Install • ASP.NET 2.0 AJAX Extension • ASP.NET 2.0 AJAX Futures CTP • ASP.NET 2.0 AJAX Control Toolkit • KONFIGURATSIOON! http://ajax.asp.net

  50. Ülevaade veebiteenustest • Üle Interneti hajutatud rakenduste alustala

More Related