+ All Categories
Home > Documents > A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer...

A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer...

Date post: 18-Jan-2018
Category:
Upload: willis-carroll
View: 216 times
Download: 0 times
Share this document with a friend
Description:
Master Pages Content by inheritance Master Page Content Page
28
A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA [email protected]
Transcript
Page 1: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

A Lap AroundNew Enhancementsfor Web Developers

in Visual Studio 2005

Alexander HolyDeveloper Evangelist, Microsoft [email protected]

Page 2: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

New ASP.NET 2.0 FeaturesCo

ntro

lsPa

geFr

amew

ork

Serv

ices

and

APIs

DataControls

LoginControls Web Parts Other New

Controls

Master Pages Themesand Skins

ImprovedClient Scripting

Compilation& Localization

Membership RoleManagement Profiles Configuration

SiteMaps

HealthMonitoring

Other NewServices

Page 3: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Master Pages• Content by inheritanceMaster Page

Content Page

Page 4: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

How Master Pages Work• Master pages define common content and

content placeholders• Content pages reference masters and fill

placeholders with contentSite.master default.aspx

Content

http://.../default.aspx

Content-PlaceHold

er

Page 5: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Page.Master• New property of System.Web.UI.Page• Provides content pages with programmatic

access to master pages– Determine whether page has a master– Access controls defined in master– Access public methods and properties defined in

master• Code-level integration of master pages and

content pages

Page 6: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Master Pages

Page 7: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Data Source Controls

• Declarative ("no-code") data binding

Sql-DataSource

Object-DataSource

Access-DataSource

Xml-DataSource

SiteMap-DataSource

SQLDatabases

AnyData

AccessDatabases

XMLData Site Maps

DataComponent

Site MapProvider

Page 8: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Data Controls

• New data-bound controls• Built-in support for selecting, editing,

paging, sorting, and more

GridView DetailsView FormView

Page 9: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

2-Way Data Binding

• Data controls supply editing UIs– AutoGenerateXxxButton properties– Insert/EditRowStyle properties– Inserting/ed, Updating/ed, Deleting/ed events

• Data source controls supply logic– Insert/Update/DeleteCommand properties– Insert/Update/DeleteParameters properties– Inserting/ed, Updating/ed, Deleting/ed events

• Visual Studio supplies the glue

Page 10: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Caching

• Many data source controls provide built-in caching support– EnableCaching - Enables/disables caching– CacheDuration - Length of time (seconds)– CacheExpirationPolicy - Sliding or absolute– CacheKeyDependency/SqlCacheDepedency -

Cache dependencies• No-code data caching!

Page 11: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

CacheSync• SQL cache dependencies

– Couple cached items to database entities– Change to underlying data evicts corresponding

item(s) from cache• Works with SQL Server 7, SQL Server 2000,

and SQL Server 2005– Requires database prep for SQL Server 7 and

SQL Server 2000 (Aspnet_regsql.exe)– "Just works" with SQL Server 2005

• Much-requested feature of ASP.NET

Page 12: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Data Access

Page 13: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Membership Service• Manages users and credentials

– Declarative access via Web Site Admin Tool– Programmatic access via Membership API

• Vastly simplifies forms authentication– Provides logic for validating user names and

passwords, creating accounts, and more– Provides data store for storing credentials, e-mail

addresses, and other membership data• Provider-based for flexible data storage

Page 14: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Membership Schema

Membership API

MembershipData

SQL Server OtherData Stores

Membership Providers

ActiveDirectory

Login LoginStatus LoginView Other

Controls

Membership MembershipUser

SqlMembershipProvider

ActiveDirectory-MembershipProvider

Other Providers

Page 15: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Role Manager• Role-based security in a box

– Declarative access via Web Site Admin Tool– Programmatic access via Roles API

• Simplifies adding role-based security to sites that employ forms authentication– Maps users to roles on each request– Provides data store for role information

• Provider-based for flexible data storage

Page 16: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Role Management Schema

Role API

Role Data

SQL Server OtherData Stores

Role Providers

AuthorizationManager

("AzMan")

Login LoginStatus LoginView Other

Controls

Roles

SqlRole-Provider

AuthorizationStore-RoleProvider

Other Providers

WindowsToken-

RoleProvider

Page 17: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Login Controls• UI and logic for security-related tasks

Login

Password-Recovery

LoginStatusLoginName

LoginView CreateUser-Wizard

Change-Password

Membership &Role Management

Page 18: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

LoginView<asp:LoginView ID="LoginView1" Runat="server"> <AnonymousTemplate> <!-- Content seen by unauthenticated users --> </AnonymousTemplate> <LoggedInTemplate> <!-- Content seen by authenticated users --> </LoggedInTemplate> <RoleGroups> <asp:RoleGroup Roles="Administrators"> <ContentTemplate> <!-- Content seen by administrators --> </ContentTemplate> </asp:RoleGroup> ... </RoleGroups></asp:LoginView>

Page 19: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Membership and Roles

Page 20: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Profiles• Store per-user data persistently

– Strongly typed access (unlike session state)– On-demand lookup (unlike session state)– Long-lived (unlike session state)– Authenticated and anonymous users– Rich type support (including custom types)

• Accessed through dynamically compiled HttpProfileBase derivatives

• Provider-based for flexible data storage

Page 21: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Profile Definition<profile> <properties> <!-- String property --> <add name="MyName" /> <!-- Int32 property with default value --> <add name="MyFavoriteNumber" type="System.Int32" defaultValue="0" /> <!-- DateTime property --> <add name="MyBirthday" type="System.DateTime" /> <!-- Custom type; auth. and anon. users --> <add name="MyItems" type="ShoppingCart" serializeAs="binary" allowAnonymous="true" /> </properties></profile>

Page 22: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Data-Driven Site Navigation• Navigation UIs are tedious to implement

– Especially if they rely on client-side script• New controls simplify site navigation

– TreeView and Menu - Navigation UI– SiteMapDataSource - XML site maps– SiteMapPath - "Bread crumb" controls

• Public site map API provides foundation• Provider-based for flexibility

Page 23: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Site Navigation Schema

Site Map API

Site Maps

Web.sitemap OtherData Stores

Controls Menu TreeView SiteMapPathSiteMap-

DataSource

SiteMap

SiteMapNodeSiteMapNode SiteMapNode

XmlSiteMapProvider Other Site MapProviders

Providers

Page 24: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

XML Site Map<?xml version="1.0" encoding="utf-8" ?><siteMap> <siteMapNode> <siteMapNode title="Home" url="~/Default.aspx" /> <siteMapNode title="Tickets" url="~/Tickets.aspx" /> <siteMapNode title="Concert Gear" url="~/Gear.aspx" /> <siteMapNode title="Backstage" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" url="~/MembersOnly/Preferences.aspx" /> </siteMapNode></siteMap>

Page 25: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Security Trimming• Feature of site map providers• Varies navigation UI based on roles<?xml version="1.0" encoding="utf-8" ?><siteMap> <siteMapNode roles="*"> <siteMapNode title="Home" url="~/Default.aspx" /> <siteMapNode title="Tickets" url="~/Tickets.aspx" /> <siteMapNode title="Concert Gear" url="~/Gear.aspx" /> <siteMapNode title="Backstage" roles="Members" url="~/MembersOnly/Backstage.aspx" /> <siteMapNode title="Preferences" roles="Members" url="~/MembersOnly/Preferences.aspx" /> </siteMapNode></siteMap>

Page 26: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

Site Navigation

Page 27: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

New ASP.NET 2.0 FeaturesCo

ntro

lsPa

geFr

amew

ork

Serv

ices

and

APIs

DataControls

LoginControls Web Parts Other New

Controls

Master Pages Themesand Skins

ImprovedClient Scripting

Compilation& Localization

Membership RoleManagement Profiles Configuration

SiteMaps

HealthMonitoring

Other NewServices

Page 28: A Lap Around New Enhancements for Web Developers in Visual Studio 2005 Alexander Holy Developer Evangelist, Microsoft EMEA

© 2005 Microsoft Corporation. All rights reserved.© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Recommended