ASP'NET Whidbey - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

ASP'NET Whidbey

Description:

Services en ingebouwde features zijn aan te passen of te vervangen ... Data Sources kunnen parameters bevatten voor CRUD operaties ... – PowerPoint PPT presentation

Number of Views:70
Avg rating:3.0/5.0
Slides: 37
Provided by: alexth
Category:
Tags: asp | net | crud | whidbey

less

Transcript and Presenter's Notes

Title: ASP'NET Whidbey


1
ASP.NET Whidbey
  • Overview van vernieuwingen voor web applicaties
    in .NET Framework

2
Agenda
  • Visual Studio.NET Whidbey
  • ASP.NET Whidbey en Page Framework
  • Master Pages
  • Data Sources en Controls
  • Site navigatie
  • Membership en roles management
  • Personalization
  • Themes
  • Nieuwe controls

3
Tools
Client Application Model
Web Service Application Model
Data Systems Application Model
Mobile PC Devices Application Model
Command Line
Compact Framework
System.Console
Win FS
Yukon
Mobile PC Optimized
Avalon
Windows Forms
ASP.NET / Indigo
NT Service
System.Web
System.Windows
System.Windows.Forms
System.Storage
System.Data.SqlServer
System.Windows
System.Windows.Forms
System.ServiceProcess
Communication
Data
Presentation
System.Collaboration
System.Discovery
System.Search
System.Data
System.Messaging
System.Windows
DataSet
SqlClient
RealTimeEndpoint
UI Element
Explorer
Media
Annotations
System.DirectoryServices
ActiveDirectory
Mapping
SqlTypes
TransientDataSession
Animation
Controls
Documents
System.Remoting
Monitoring
SignalingSession
ObjectSpaces
SqlXML
Controls
Dialogs
Text Element
System.Runtime.Remoting
Uddi
Logging
Media
ObjectSpace
OdbcClient
Control
SideBar
Shapes
Relevance
Activities
Query
OleDbClient
Panel
Notification
Shape
Navigation
Schema
System.Web.Services
Design
Ink
OracleClient
System.MessageBus
Transport
Queue
Web.Service
System.Storage
Port
System.Web.UI
PubSub
System.Windows.Forms
Description
Item
Core
Channel
Router
Page
WebControls
Forms
Discovery
Relationship
Contact
Service
Policy
Control
Control
Adaptors
Protocols
Media
Location
Peer Group
Print Dialog
HtmlControls
Design
Audio
Message
Design
MobileControls
Video
Document
System.Net
System.Web
Images
Event
HttpWebRequest
NetworkInformation
System.Help
System.Speech
Personalization
System.Xml
FtpWebListener
Sockets
System.Drawing
Recognition
Synthesis
Caching
Schema
Xpath
SslClientStream
Cache
SessionState
System.NaturalLanguageServices
Serialization
Query
WebClient
Fundamentals
Security
Base Application Services
Configuration
Deployment/Management
System.Web.Configuration
System.Timers
System.Text
System.Windows.TrustManagement
System.Collections
System.Web
System.Security
System.Globalization
System.Design
System.MessageBus.Configuration
Generic
Administration
Authorization
Permissions
System.Web.Security
System.Serialization
System.IO
System.Configuration
Management
System.ComponentModel
AccessControl
Policy
System.Threading
Ports
System.Resources
System.CodeDom
System.MessageBus.Security
Credentials
System.Management
Principal
System.Runtime
System.Reflection
Cryptography
System.Deployment
Token
System.EnterpriseServices
InteropServices
Serialization
System.Diagnostics
System.Transactions
CompilerServices
4
Richting van ASP.NET
  • Verhogen van productiviteit van programmeur
  • Meer met minder code (70 van code uit ASP.NET)
  • Zero-code scenarios via out-of-the-box features
  • Uitbreidbaarheid
  • Services en ingebouwde features zijn aan te
    passen of te vervangen
  • Eenvoudigere administratie en management
  • Performance en schaalbaarheid
  • 100 backward compatibiliteit

5
Visual Studio.NET features
  • Overal IntelliSense
  • Client-side script, web.config, XML, HTML, CSS,
    ASP.NET directives,
  • Inline en code-beside server-side code
  • Eigen web-server (net als Cassini)
  • Geen IIS vereist op ontwikkelmachine (wel
    ondersteund)
  • localhost met random poortnummer
  • Behoud en validatie van HTML Source
  • Toevoegen van controls in Source View
  • Nieuwe manieren om eventhandlers toe te voegen
  • In code-beside
  • Inline
  • Smart Tags voor controls
  • Beta Collapsable sections en tag navigator

6
ASP.NET 2.0 Developer Stack
Membership
Role Manager
Personalization
Site Navigation
Management
Database Caching
7
ASP.NET 2.0 Developer Stack
Membership
Role Manager
Personalization
Site Navigation
Management
Database Caching
Provider Model Design Pattern
Windows
SQL Server
Custom
JET (Access)
8
ASP.NET 2.0 Developer Stack
9
ASP.NET 2.0 Developer Stack
10
ASP.NET 2.0 Developer Stack
Master Pages
Themes/Skins
Adaptive UI
11
Site anatomie
  • Sites nu te openen vanuit willekeurige folder
  • Geen .vbproj of .csproj file meer nodig
  • Support voor IIS, file systeem, FPSE en FTP
  • Nieuwe projecttypen voor websites
  • Intranet, Internet, Website, Web Service, Empty
  • Dedicated folders
  • Code automatische compilatie van .cs, .xsd,
    .wsdl enz. via Compilation Build Providers
  • Themes
  • Compilatie per pagina
  • Geen project assembly meer

12
DEMO
  • Rondleiding
  • Visual Studio.NET

13
ASP.NET features
  • Configuration
  • ASP.NET Web Application Administration
  • System.Web.Configuration namespace
  • Configuration en WebConfigurationSectionGroup
    klasse
  • Programmatisch aanpassen van web.config
  • URL rewriting
  • lturlMappinggt sectie in web.config
  • Verplaatsen van URL's zonder 404 errors
  • Mooie URL's definiëren i.p.v. lelijke
    querystrings

14
Nieuwe page framework
  • Code-behind is uit, Code-beside is in
  • Partial classes vullen .aspx gegenereerde code
    aan
  • Nieuwe _at_page directive attributenCompilesWith
    en ClassName
  • Nieuwe page events
  • Pre en Complete voor Init, Load, Render
  • Nieuwe page properties en methoden
  • Page.Items voor doorgeven van objecten en values
  • Page.GetValidators("Groepnaam")

15
Nieuwe page framework (2)
  • Cross-page postings
  • Button, ImageButton, LinkButton postTargetUrl
  • Ontvangende pagina kan controls van postende
    pagina benaderen_at_PreviousPage
    virtualPath"sender.aspx" gt
  • Context.PreviousHandler en .CurrentHandler
  • Page.IsCrossPagePostBack naast IsPostBack
  • Client Scripting
  • Veel nieuwe Register methoden
  • RegisterClientScriptInclude, RegisterClientScriptR
    esource
  • Boolean argument voor toevoegen ltscriptgt tags
  • Client Callback
  • Via XMLHTTP object voor IE5.5 en NS6.0

16
Deployment
  • Precompilatie van website
  • In-place pre-compilationvia url
    http//server/app/precompile.axd
  • Pre-compilation voor deploymentGebruik van
    command-line compiler aspnet_compiler.exe
  • Beta Nieuwe publish feature
  • Ook via FTP publishen van websites

17
Master pages
  • Eenvoudig maken van templates voor paginas
  • Master page bepaalt layout en default content
    voor andere webpaginas
  • ContentPlaceHolder controls bepalen plekken waar
    pagina content wordt geplaatst
  • .master extensie voor master pages
  • Content paginas bevatten variable content
  • Alleen content binnen Content controls
  • lt _at_page master/mymaster.master gt
  • Page.Master property refereert master page
    (inclusief controls)
  • Nesting van master pages mogelijk
  • Designer support voor werken met master en
    content paginas in VS.NET

18
DEMO
  • Werken met
  • Master pages
  • Content pages

19
Data Sources Controls
  • Representeren verschillende typen databronnen
  • Access-, Sql-, DataSet-, Xml-, SiteMap-,
    ObjectDataSource
  • Krachtige mogelijkheden voor data
  • Sorteren, bladeren, data bewerken
  • Bevatten tabel of hierarchische data
  • Minder kennis van page-lifecycle meer nodig
  • Controls worden geboden op juiste moment
  • DataSource en DataBind kunnen nog steeds gebruikt
    worden
  • Cachingopties voor meeste sources
  • Cache-invalidation via SQL Server Yukon
    Notifications
  • Eigen data sources ontwikkelen

20
Data Controls
  • Naast bestaande ook nieuwe controls
  • GridView (aka SmartGrid)
  • DetailsView
  • TreeView
  • Aanzienlijk minder code nodig
  • Grote hoeveelheid events per control
  • Nieuwe data-bound controls kunnen databewerkingen
    van Data Source controls gebruiken
  • Data Sources kunnen parameters bevatten voor CRUD
    operaties
  • Parameters kunnen uit externe waarden komen
  • QueryString, Control, Session, Form, Cookie,

21
Nieuwe data-bound controls
  • GridView
  • Verbeterde versie van DataGrid minder code
  • Sorteren, bladeren, selecteren, bewerken
  • Nieuwe templates NullTemplate, PagerTemplate
  • DetailsView
  • Geeft enkel record weer
  • Bladeren, bewerken
  • Treeview
  • Kan hierarchische data weergevenXmlDataSource of
    SiteMapDataSource
  • Client-side population voor downloaden van tree
    content in delen

22
DEMO
  • Werken met
  • SqlDataSource control
  • GridView control
  • DetailsView control

23
Site navigatie
  • Speciale file app.sitemap bevat hierarchische set
    van ltsiteMapNodegt elementen
  • SiteMapDataSource gebruikt app.sitemap file
  • TreeView control ideaal voor weergave map
  • Nieuwe Breadcrumb control
  • Positie/navigatiepad naar page binnen hierarchy
  • Aanpasbaar via viertal templatesNode,
    CurrentNode, RootNode en PathSeparator
  • SiteMap class en SiteMapNode classes voor
    programmatische access van sitemap
  • Custom attributen van ltsiteMapNodegt uit te lezen

24
DEMO
  • Werken met
  • Breadcrumb control
  • Treeview control
  • SiteMapDataSource

25
Security Services Stack
Membership
Role Manager
26
Membership management
  • Administratie van gebruikers
  • Aanvulling op authentication via Windows of Forms
  • Oplossing voor opslag van credentials van
    gebruikers
  • Secure opslag hashed wachtwoord (met salt)
  • Geen complexe authenticatie en security code meer
  • Provider design pattern
  • Twee providers aanwezig AccessProvider en
    SQLProvider
  • Maak eigen providers, bijvoorbeeld OracleProvider
  • Administratie van gebruikers
  • Online tool http//localhost/app/webadmin.axd

27
Membership management (2)
  • Ondersteuning voor anonymous users
  • Activeren in web.configltanonymousIdentification
    enabled"true" /gt
  • Ontvangen een GUID in cookie this.Request.Anonymo
    usId
  • Belangrijkste klassen uit Membership API
  • Membership
  • CreateUser, UpdateUser
  • ValidateUser
  • GetUser, GetAllUsers
  • GetNumberOfUsersOnline
  • MembershipUser
  • ChangePassword, GetPassword, ResetPassword

28
DEMO
  • Werken met
  • Web Tool ASP.NET Configuration

29
Security controls
  • Login control
  • Kant en klaar login formulier
  • Autoformat voor styles
  • Veel properties, maar ook templatable
  • LoginStatus control
  • Geeft hyperlink voor in- of uitloggen
  • LoginName control
  • Toont naam van ingelogde gebruiker
  • LoginView control
  • Toont Anonymous of LoggedIn template op basis
    status
  • Eigen templates op basis van role membership
  • PasswordRecovery control

30
DEMO
  • Werken met
  • Security Controls
  • Login
  • LoginView
  • LoginStatus

31
Role management
  • Mappen van users naar rollen
  • Zelfde providers Access en SQL Server
  • Ook via online tool te beheren of via API
  • Statische methoden van Roles en RolePrincipal
    class
  • Roles en users zijn strings
  • Rolebased navigatie
  • Beta SiteMapNode kan roles attribute hebben met
    rollen die node mogen zien
  • Rolebased templates in LoginView
  • Configuratie van SQL Server via aspnet_regsql.exe
    tool
  • Caching van roles in encrypted cookie of in-memory

32
Personalisatie
  • Opslag van gebruiker-gerelateerde data
  • Mogelijkheden tot aanpassen van pagina
  • Profiel bevat eigenschappen van gebruiker
  • Definitie in web.config ltpersonalizationgtltprofilegt
  • Datatypen en default waarden zijn aan te geven
  • Opslag complexe typen als XML, string of binary
  • Ook voor anonymous gebruikers
  • Toegang tot profiel via Profile property van page
    of HttpContext
  • Werken met profieldata via properties van Profile
    class lezen en schrijven

33
Themes en skins
  • Theme bevat globale definitie van control designs
  • Skins bevatten controls met make-up
  • Toepasbaar op Website, pagina of per control
  • Twee globale themes voorhanden in alpha
  • SmokeAndGlass en BasicBlue
  • Gebruikte stylesheets worden automatisch
    toegevoegd aan pagina
  • Te combineren met Personalization

34
Themes en skins (2)
  • Skins zijn op individuele controls toepasbaar
  • Meerdere skins voor zelfde control hebben ieder
    uniek SkinID
  • Controls hebben een SkinID property
  • Custom themes zijn eenvoudig te maken
  • Themes folder onder webroot bevat custom themes
  • Ieder custom theme heeft eigen subfolder
    bijvoorbeeld MyTheme
  • MyTheme.skin bevat definities van control designs
  • CSS files in folder worden automatisch toegevoegd

35
DEMO
  • Werken met
  • Themes
  • Skins
  • Combinatie met Personalization

36
Web Parts
  • Personalisatie controls
  • Gebruiker kan content toevoegen, verplaatsen,
    bewerken en verbergen
  • Pagina wordt ingedeeld in zones, die Web Parts
    bevatten
  • Vier views voor Web Parts
  • Normal en Design WebPartZone, ContentWebPart
  • Edit EditorZone, Appearance-, Layout-,
    Behavior-, ProperyGridEditorPart
  • Catalog CatalogZone, PageCatalogPart
  • WebPartManager
  • Beheert zones en Web Parts
  • Onzichtbaar, maar wel verplicht
  • Eigen Web Parts zijn afgeleid van
    System.Web.UI.WebControls.WebPart klasse
  • Web parts kunnen data delen via Connection Points

37
DEMO
  • Werken met
  • WebPartManager
  • Zone controls
  • Web Parts
  • Verschillende views

38
Nieuwe controls
  • MultiView en View
  • MultiView is container voor Views
  • Vooral handig bij mobile devices
  • Wizard
  • Beta Wizard voor ontwerpen pagina's van Wizard
  • BulletedList, Pager, HiddenField
  • DynamicImage
  • Nieuwe handler ImageGenerator .asix
  • Caching van afbeeldingen op schijf of in-memory
  • Properties ImageUrl, ImageGeneratorUrl, ImageFile
  • ImageMap
  • Hotspots van verschillende vormen cirkel,
    rechthoek, polygoon

39
Vernieuwde controls
  • Input controls
  • Focus kan op control geplaatst worden
  • Default focus voor formulier op te geven
  • Validatie controls
  • Control wordt toegewezen aan validatiegroep
  • Mogelijkheid tot validatie deel van formulier
  • Focus kan op control met error worden geplaatst
  • TextBox
  • Autocomplete property

40
Mobile development
  • Geen aparte pagina's meer voor mobiele devices
  • Controls gebruiken allen adaptieve rendering
  • Aparte folder onder Config directory voor
    browsers
  • .browser files definiëren capabilities van
    devices
  • Device filters voor controls
  • ltaspimage imageUrl"me.jpg" netscape"me-ns.jpg"
    /gt
  • PhoneLink control
  • MultiView, View en Pager controls bijzonder
    geschikt voor kleine displays

41
Site counters
  • Zes controls kunnen clicks opslaan in tellers
  • Button, LinkButton, ImageButton, PhoneLink,
    ImageMap en AdRotator
  • Controls properties
  • CounterGroup, CounterName, CountClicks
  • Weer dezelfde providers of custom provider
  • Report tool nog niet beschikbaar
  • Page counters tellen bezoeken aan pagina
  • AdRotator kan ook views tellen

42
Forms Authentication
  • Cookie voor session ticket niet meer vereist
  • ltauthentication modeFormsgtltforms
    cookielessuseUri/gt
  • Opties useUri, auto, useCookie, useDeviceProfile

43
Interessante links
  • http//www.asp.net/whidbey
Write a Comment
User Comments (0)
About PowerShow.com