ASP.NET 2.0 André Henriksson Developer Evangelist Microsoft AB
Nyheter i ASP.NET 2.0 Controls Page Framework Services and APIs Data Controls Login Controls Web Parts Other New Controls Master Pages Themes and Skins Improved Client Scripting Compilation & Localization Membership Role Management ProfilesConfiguration Site Maps Health Monitoring Other New Services
Master Pages Innehåll genom arv Master Page Content Page
Hur fungerar Master Pages “Master pages” definierar gemensamt innehåll och gemensamma “placeholders” för en sida “Content pages” refererar en “Master” och fyller “placeholders” med innehåll Site.masterdefault.aspx Content Content- PlaceHolder
Page.Master Ny egenskap i System.Web.UI.Page Ger innehållssidor en möjlighet att programatiskt komma åt “Master pages” Kontrollera om sida har en “Master” Åtkomst till kontroller definierade i “Master page” Åtkomst till publika metoder och egenskaper i en “Master page” Ger integration mellan “Master pages” och innehållssidor på kodnivå
Master Pages André Henriksson Developer Evangelist Microsoft AB
Theme Katalog i root:en: App_Themes Kan innehålla bilder, CSS och Skins Möjlighet att byta utseende på en webbplats Mer finkornigt är Master Pages Appliceras på servern Stylesheets skickas till klienten Kan styras i web.config eller i kod ”Don’t cascade in the same way as CSS” Definition i en Theme gäller över kontrollens
Skin Möjlighet att skräddarsy kontrollers utseende Är kontrollbaserad och inte HTML-baserad Konfigurera nodbilder i Treeview Sätt färger i kalenderkontrollen Vilka kolumner ska visas i en GridView Varning! Styr inte bredd/höjd denna väg om du inte måste... Det hör hemma i aspx- filen.
Themes and Skins André Henriksson Developer Evangelist Microsoft AB
Datadriven webbnavigering Navigationsgränssnitt tar tid att implementera Speciellt om de innehåller klientscript Nya kontroller förenklar navigering TreeView och Menu - Navigeringskontroller SiteMapDataSource - XML site maps SiteMapPath - "Bread crumb“-kontroll Publikt site map API är grunden Provider-baserad för flexibilitet
Site Navigation Schema Site Map API Site Maps Web.sitemap Other Data Stores Controls MenuTreeViewSiteMapPath SiteMap- DataSource SiteMap SiteMapNode XmlSiteMapProvider Other Site Map Providers
XML Site Map <siteMapNode title="Backstage" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" url="~/MembersOnly/Preferences.aspx" />
Security Trimming Egenskap hos “site map providers” Styr gränssnitt efter användarens roller <siteMapNode title="Backstage" roles="Members" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" roles="Members" url="~/MembersOnly/Preferences.aspx" />
Site Navigation André Henriksson Developer Evangelist Microsoft AB
Datakällskontroller Deklarativ (“ingen kod") data bindning Sql- DataSource Object- DataSource Access- DataSource Xml- DataSource SiteMap- DataSource SQL Databases Any Data Access Databases XML Data Site Maps Data Component Site Map Provider
Datakontroller Nya databundna kontroller Inbyggt stöd för bl a att kunna välja rad, editering, “paging”, sortering, osv GridViewDetailsViewFormView
2-vägs Data Bindning Datakontroller ger editerbart gränssnitt AutoGenerateXxxButton properties Insert/EditRowStyle properties Inserting/ed, Updating/ed, Deleting/ed events Datakällskontrollerna ger logiken Insert/Update/DeleteCommand properties Insert/Update/DeleteParameters properties Inserting/ed, Updating/ed, Deleting/ed events Visual Studio hjälper till med det sista
Caching Många datakällskontroller har inbyggt stöd för caching EnableCaching - Av/På caching CacheDuration – Längd i sekunder CacheExpirationPolicy – Slide:ing eller absolut CacheKeyDependency/SqlCacheDepedency - Cache dependencies OBS! Ingen kod behövs för caching!
Cache Dependency SQL cache dependencies Binder cache:ade objekt till databasentiteter Förändringar i underliggande data invaliderar det cache:ade objektet Fungerar med SQL Server 7, SQL Server 2000 och SQL Server 2005 Kräver att databasservern prepareras för SQL Server 7 and SQL Server 2000 (Aspnet_regsql.exe) “Fungerar direkt" med SQL Server 2005 Starkt efterfrågad funktion i ASP.NET
Data Access André Henriksson Developer Evangelist Microsoft AB
Membership Service Hanterar användare och deras inloggningsuppgifter Deklarativ åtkomst via Web Site Admin Tool Programmatisk åtkomst via Membership API Förenklar forms authentication Ger logik för validering av användare och lösenord, skapande av nya användare osv Ger implicit lagring av användaruppgifter, e- postadress och annat data som väljs att lagra Provider-baserad för flexibel lagring
Membership Schema Membership API Membership Data SQL Server Other Data Stores Membership Providers Active Directory LoginLoginStatusLoginViewOther Controls MembershipMembershipUser SqlMembershipProvider ActiveDirectory- MembershipProvider Other Providers
Role Manager Rollbaserad säkerhet “in the box” Deklarativ åtkomst via Web Site Admin Tool Programmatisk åtkomst via Roles API Förenklar hantering av roller på webbplatser som använder “forms authentication” Mappar användare till roller vid varje anrop Ger implicit lagring av rollinformation Provider-baserad för flexibel lagring
Role Management Schema Role API Role Data SQL Server Other Data Stores Role Providers Authorization Manager ("AzMan") LoginLoginStatusLoginViewOther Controls Roles SqlRole- Provider AuthorizationStore- RoleProvider Other Providers WindowsToken- RoleProvider
Login Controls UI och logik för säkerhetsrelaterade saker Login Password- Recovery LoginStatusLoginName LoginView CreateUser- Wizard Change- Password Membership & Role Management
LoginView...
Membership and Roles André Henriksson Developer Evangelist Microsoft AB
Profiler Spara användardata “för evigt” Starkt typad åtkomst (ej i session) Hämta användarprofil (ej i session) Överlever sessionen (ej i session) Autenticerade och anonyma användare Stödjer olika datatyper (även custom types) Åtkomst via dynamiskt kompilerad klass baserad på HttpProfileBase Provider-baserad för flexibel lagring
Definition av Profil <add name="MyFavoriteNumber" type="System.Int32" defaultValue="0" /> <add name="MyItems" type="ShoppingCart" serializeAs="binary" allowAnonymous="true" />
Profiles André Henriksson Developer Evangelist Microsoft AB
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.