building rich web applications with the ‘atlas’ framework mike ormond developer & platform...

36
Building rich web Building rich web applications with the applications with the ‘Atlas’ framework ‘Atlas’ framework Mike Ormond Mike Ormond Developer & Platform Evangelism Group, Microsoft Developer & Platform Evangelism Group, Microsoft Ltd Ltd [email protected] [email protected] http://blogs.msdn.com/mikeormond http://blogs.msdn.com/mikeormond

Upload: bryan-reed

Post on 16-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Building rich web applications Building rich web applications with the ‘Atlas’ frameworkwith the ‘Atlas’ framework

Mike OrmondMike Ormond

Developer & Platform Evangelism Group, Microsoft LtdDeveloper & Platform Evangelism Group, Microsoft Ltd

[email protected]@microsoft.com

http://blogs.msdn.com/mikeormond http://blogs.msdn.com/mikeormond

Page 2: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Microsoft’s premier European conferencefor Developers

• 100% dedicated event for developers

• 4 days of deep technical content

• High profile gurus – Bill Gates confirmed!

• 3,000+ European developers

www.microsoft.com/europe/teched-developers

07-10 November 2006Barcelona

Page 3: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

AgendaAgenda

The Atlas FrameworkThe Atlas Framework

What is Atlas (and why should I care)?What is Atlas (and why should I care)?

ASP.NET 2.0 AJAX ExtensionsASP.NET 2.0 AJAX Extensions

ASP.NET AJAX Control ToolkitASP.NET AJAX Control Toolkit

Microsoft AJAX LibraryMicrosoft AJAX Library

IIS 7.0IIS 7.0

Server ArchitectureServer Architecture

ASP.NET IntegrationASP.NET Integration

Page 4: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

The Atlas FrameworkThe Atlas Framework

Page 5: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

…a new generation of richer, interactive, personalized standards-based web applications

What is “Atlas”?What is “Atlas”? A framework for building… A framework for building…

High-productivity platformHigh-productivity platform

Seamless integrationSeamless integration

Ubiquitous reach and easy deploymentUbiquitous reach and easy deployment

World-class toolsWorld-class tools

Page 6: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

What flavours does Atlas come in?What flavours does Atlas come in?

Announced Monday 11Announced Monday 11thth September, Atlas becomes: September, Atlas becomes:

Microsoft AJAX LibraryMicrosoft AJAX Library

ASP.NET 2.0 AJAX ExtensionsASP.NET 2.0 AJAX Extensions

ASP.NET AJAX Control ToolkitASP.NET AJAX Control Toolkit

Current VersionCurrent Version

July CTP with “Go Live” licenceJuly CTP with “Go Live” licence

RoadmapRoadmap

1.0 Release around EOY (core features)1.0 Release around EOY (core features)

““Feature” downloadsFeature” downloads

““Orcas” releaseOrcas” release

Page 7: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Some TerminologySome Terminology

Page 8: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Example Mash-upsExample Mash-ups

http://celeb.local.live.comhttp://celeb.local.live.com

http://www.markovic.com/ebay/searchhttp://www.markovic.com/ebay/search

http://www.live.comhttp://www.live.com

My BBC Travel Info Demo Mash-UpMy BBC Travel Info Demo Mash-Up

Virtual Earth ControlVirtual Earth Control

(http://dev.live.com/virtualearth/sdk)(http://dev.live.com/virtualearth/sdk)

BBC Travel Info ServiceBBC Travel Info Service

(http://backstage.bbc.co.uk/data/TravelFeeds)(http://backstage.bbc.co.uk/data/TravelFeeds)

Page 9: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

““Atlas” ScenariosAtlas” Scenarios

Server-centric Ajax Web DevelopmentServer-centric Ajax Web Development

Incremental Ajax approach to add UI enrichment for key Incremental Ajax approach to add UI enrichment for key scenariosscenarios

Enrich applications without lots of Javascript code requiredEnrich applications without lots of Javascript code required

Enable you to keep core UI/Application logic on server Enable you to keep core UI/Application logic on server (VB/C#)(VB/C#)

Client-centric Ajax Web DevelopmentClient-centric Ajax Web Development

Leverage full power of script/DHTMLLeverage full power of script/DHTML

Provide richer and more interactive user experienceProvide richer and more interactive user experience

Build mash-ups, gadgets and other new immersive Build mash-ups, gadgets and other new immersive experiencesexperiences

Page 10: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Programming ModelProgramming Model Server-Centric Server-Centric

ASP.NETASP.NET

Application Services

Application Services

Page Framework,

Server Controls

Page Framework,

Server Controls

Atlas Script FrameworkAtlas Script Framework

Client Application

Services

Client Application

Services

Component/UIFramework,

Controls

Component/UIFramework,

Controls

BrowserBrowser

PresentationPresentation(HTML/CSS)(HTML/CSS)

PresentationPresentation(HTML/CSS)(HTML/CSS)

ASP.NET ApplicationASP.NET Application

PagesPagesPagesPages

UI BehaviorUI Behavior(Managed(Managed

Code)Code)

UI BehaviorUI Behavior(Managed(Managed

Code)Code)

Input Data

Updated UI + Behavior

Initial Rendering

(UI + Behavior)

Page 11: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Programming ModelProgramming Model Client-CentricClient-Centric

BrowserBrowser

PresentationPresentation(HTML/CSS)(HTML/CSS)

PresentationPresentation(HTML/CSS)(HTML/CSS)

““Atlas”Atlas”ServiceServiceProxiesProxies

““Atlas”Atlas”ServiceServiceProxiesProxies

UI BehaviorUI Behavior(Script)(Script)

UI BehaviorUI Behavior(Script)(Script)

ASP.NETASP.NET

Application Services

Application Services

Page Framework,

Server Controls

Page Framework,

Server Controls

ASP.NET ApplicationASP.NET Application

PagesPagesPagesPages

WebWebServicesServices

WebWebServicesServices

Atlas Script FrameworkAtlas Script Framework

Client Application

Services

Client Application

Services

Component/UIFramework,

Controls

Component/UIFramework,

Controls

Initial Rendering

(UI + Behavior)

Data

Data

Page 12: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<Atlas:> Server Controls<Atlas:> Server Controls

Goal: Easily enhance any ASP.NET web applicationGoal: Easily enhance any ASP.NET web applicationApplication UI and core logic still runs on serverApplication UI and core logic still runs on serverAvoid need to master JavaScript and asynchronous Avoid need to master JavaScript and asynchronous programmingprogramming

Use AJAX techniques to reduce roundtripsUse AJAX techniques to reduce roundtripsEnable incremental page UI updates (avoid full page refreshes)Enable incremental page UI updates (avoid full page refreshes)

Scenarios: data navigation and editing, form validation, auto refreshScenarios: data navigation and editing, form validation, auto refresh

Enable richer interactivity for existing ASP.NET controlsEnable richer interactivity for existing ASP.NET controlsUse the same controls, object model and events you already knowUse the same controls, object model and events you already know

Extenders to add Atlas behaviors to any ASP.NET controlsExtenders to add Atlas behaviors to any ASP.NET controls

New, richer ASP.NET server controlsNew, richer ASP.NET server controlsServer wrappers for Atlas client controlsServer wrappers for Atlas client controls

Examples: DateTimePicker, RichTextBox, Re-Order ListExamples: DateTimePicker, RichTextBox, Re-Order List

Page 13: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<atlas:updatepanel> control<atlas:updatepanel> control

Container control that enables “updatable” regions in a pageContainer control that enables “updatable” regions in a page

Atlas provides a XmlHttp based postback infrastructureAtlas provides a XmlHttp based postback infrastructure

Some non-updatable content and controls...

<atlas:UpdatePanel id=“u1” runat=“server”>

<ContentTemplate>

This content can be dynamically updated!

<asp:label id="Lablel1” runat=“server”/>

<asp:button id=“button1” text=“Push Me!” runat=“server”/>

<ContentTemplate>

</atlas:UpdatePanel>

More non-updatable content and controls...

Page 14: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<atlas:UpdatePanel><atlas:UpdatePanel> Under the Covers Under the Covers

Atlas intercepts post-back submit actions on Atlas intercepts post-back submit actions on clientclient

Uses XMLHttp to fire postback action to serverUses XMLHttp to fire postback action to server

Postback events fire like normal on serverPostback events fire like normal on server

Only content of updatepanel regions returnedOnly content of updatepanel regions returned

Changed updatepanel regions replaced on clientChanged updatepanel regions replaced on client

Page 15: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<atlas:UpdatePanel><atlas:UpdatePanel> Postbacks & Triggers Postbacks & Triggers

PostbacksPostbacks

All post-back actions for controls declared within an All post-back actions for controls declared within an updatepanel control will cause Ajax-based post-backs with updatepanel control will cause Ajax-based post-backs with incremental page refreshincremental page refresh

Post-back action for controls outside of an updatepanel control Post-back action for controls outside of an updatepanel control will by default cause normal postbackswill by default cause normal postbacks

TriggersTriggers

can be used to associate UpdatePanels on the page with can be used to associate UpdatePanels on the page with postback controls declared outside of the UpdatePanelpostback controls declared outside of the UpdatePanel

<asp:ControlEventTrigger><asp:ControlEventTrigger>

<asp:ControlValueTrigger><asp:ControlValueTrigger>

Page 16: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<atlas:UpdatePanel><atlas:UpdatePanel> Refresh Modes Refresh Modes

Multiple UpdatePanel Controls can be added to a pageMultiple UpdatePanel Controls can be added to a page

Sometimes you only want to update one panel…Sometimes you only want to update one panel…

UpdatePanel supports two update modesUpdatePanel supports two update modes

““Always”Always”

““Conditional”Conditional”

Conditional refreshes can be done via triggersConditional refreshes can be done via triggers

<asp:ControlEventTrigger><asp:ControlEventTrigger>

<asp:ControlValueTrigger><asp:ControlValueTrigger>

Conditional refreshes can also be triggered via codeConditional refreshes can also be triggered via code

UpdatePanel1.Update()UpdatePanel1.Update()

Page 17: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<atlas:UpdateProgress> control<atlas:UpdateProgress> control

Delivers ability to provide “status” UI while Delivers ability to provide “status” UI while waiting on response from a serverwaiting on response from a server

““Ajax” is inherently AsynchronousAjax” is inherently Asynchronous

Need to provide way for users to understand latencyNeed to provide way for users to understand latency

Need to provide way for users to cancel requestsNeed to provide way for users to cancel requests

UpdateProgress control can be placed UpdateProgress control can be placed anywhere on pageanywhere on page

Templated control allows any content (e.g. Templated control allows any content (e.g. animated .gif)animated .gif)

Can use CSS to position/style anywhereCan use CSS to position/style anywhere

Page 18: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

<Extender> controls<Extender> controls

Extend existing controls with behaviorsExtend existing controls with behaviors

AutoCompleteExtenderAutoCompleteExtender

Enables textbox auto-complete supportEnables textbox auto-complete support

Callback to web-service on server for word listCallback to web-service on server for word list

Supports both .asmx and WCF based web-services (both using Supports both .asmx and WCF based web-services (both using the built-in Atlas JSON bridge)the built-in Atlas JSON bridge)

DragOverlayExtenderDragOverlayExtender

Enables dragging a control to a new locationEnables dragging a control to a new location

Other “extender” controls plannedOther “extender” controls planned

Watermark, popup, drag/drop, masked edit, date-time picker, Watermark, popup, drag/drop, masked edit, date-time picker, tool tips, etc.tool tips, etc.

Page 19: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

ASP.NET 2.0 AJAX ExtensionsASP.NET 2.0 AJAX ExtensionsASP.NET AJAX Control ToolkitASP.NET AJAX Control Toolkit

DemoDemo

Page 20: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Atlas Client Script LibraryAtlas Client Script Library

Easily develop rich interactive web applicationsEasily develop rich interactive web applicationsApplication UI runs in browser, business logic runs on serverApplication UI runs in browser, business logic runs on serverHTML/Atlas client accesses data and services from the webHTML/Atlas client accesses data and services from the web

ScenariosScenarios

Mash-up applications Mash-up applications

Composite applications, sites, and gadgets (e.g. Live.com)Composite applications, sites, and gadgets (e.g. Live.com)

Powerful UI framework and component model for browsersPowerful UI framework and component model for browsers

Declarative markup and component modelDeclarative markup and component model

Rich client-side data access and data-bindingRich client-side data access and data-binding

Easily integrated with server application modelEasily integrated with server application model

Easily consume any web service (ASMX, Indigo) from browserEasily consume any web service (ASMX, Indigo) from browser

Proxy generation, serialization to consume .NET objects in scriptProxy generation, serialization to consume .NET objects in script

Script access to ASP.NET application services Script access to ASP.NET application services

Server-side bridge to reuse 3Server-side bridge to reuse 3rdrd party services party services

Page 21: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Atlas Client Script LibraryAtlas Client Script Library

Atlas Client Script LibraryAtlas Client Script Library

Controls and ComponentsControls and Components

Script CoreScript Core

Base Class LibraryBase Class Library

Component Model and UI Framework

Component Model and UI Framework

Browser CompatibilityBrowser Compatibility

Script core runtime: a rich type system for JScript Script core runtime: a rich type system for JScript Classes, namespaces, inheritance, interfaces Classes, namespaces, inheritance, interfaces

Event handlersEvent handlers

Object serializationObject serialization

Base class library and networking servicesBase class library and networking servicesHelper classes for developers (subset of .NET BCL)Helper classes for developers (subset of .NET BCL)

Management of asynchronous network operationsManagement of asynchronous network operations

Component model and UI frameworkComponent model and UI frameworkDeclarative scripting (Atlas XML script definitions)Declarative scripting (Atlas XML script definitions)

Extensible component and control modelExtensible component and control model

Data binding, presentation, and validationData binding, presentation, and validation

Atlas components for common scenarios – examples:Atlas components for common scenarios – examples:ListView and DataView for rendering templated data ListView and DataView for rendering templated data

UI behaviors such as drag and drop, tooltips, auto-UI behaviors such as drag and drop, tooltips, auto-completioncompletion

Compatibility layer for browsers and platformsCompatibility layer for browsers and platformsSupport for IE, Firefox/Mozilla, SafariSupport for IE, Firefox/Mozilla, Safari

Page 22: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Network Callbacks from ScriptNetwork Callbacks from Script

Atlas provides easy mechanism for script callbacksAtlas provides easy mechanism for script callbacksCan call a web-service end-point on serverCan call a web-service end-point on serverCan call a page-method end-point on serverCan call a page-method end-point on server

Atlas provides JSON network serialization supportAtlas provides JSON network serialization supportJSON = JavaScript Object Notation JSON = JavaScript Object Notation

JSON support for auto-serialization of .NET typesJSON support for auto-serialization of .NET typese.g. return an array of “Customer” objectse.g. return an array of “Customer” objects

Advanced network manager features supportedAdvanced network manager features supportedPriorities and queuing on network callsPriorities and queuing on network callsBatch invocation of multiple calls in single network requestBatch invocation of multiple calls in single network request

Page 23: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Atlas Component and BehaviorsAtlas Component and Behaviors

Components – eg TextBox, Label, Hyperlink…Components – eg TextBox, Label, Hyperlink…

Behaviors – PopupBehavior, HoverBehavior, ClickBehavior…Behaviors – PopupBehavior, HoverBehavior, ClickBehavior…

Atlas provides client JavaScript control + component modelAtlas provides client JavaScript control + component model

Enables control behavior to be associated with html Enables control behavior to be associated with html

Provides clean OO encapsulation model + control re-useProvides clean OO encapsulation model + control re-use

Avoid having to write one-off JavaScript UI repeatedlyAvoid having to write one-off JavaScript UI repeatedly

Atlas enables clean developer/designer workflowAtlas enables clean developer/designer workflow

UI defined using standard XHTML w/ CSSUI defined using standard XHTML w/ CSS

Control behaviors defined and attached separate from htmlControl behaviors defined and attached separate from html

Atlas controls can be declared procedurally + declarativelyAtlas controls can be declared procedurally + declaratively

XML declarative markup useful for tool supportXML declarative markup useful for tool support

Advanced Atlas Client Control Features:Advanced Atlas Client Control Features:

Bi-Directional Databinding, Transformers, ValidationBi-Directional Databinding, Transformers, Validation

Page 24: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Data Binding and TemplatesData Binding and Templates

Atlas enables declarative databinding and Atlas enables declarative databinding and template customization on the clienttemplate customization on the client

Designers can edit the HTML and use CSS to Designers can edit the HTML and use CSS to define a html template for an Atlas Control to define a html template for an Atlas Control to populate at runtimepopulate at runtime

Developers can use the new Atlas ListView Developers can use the new Atlas ListView client control to bind data (either one or two way) client control to bind data (either one or two way) against the html templateagainst the html template

Page 25: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Mashup SupportMashup Support

Atlas provides the ability to define service Atlas provides the ability to define service bridgesbridges

Allow client script to call to local serverAllow client script to call to local server

Local server then proxies request to serviceLocal server then proxies request to service

Avoids cross-domain script call-back issuesAvoids cross-domain script call-back issuesNo security prompts for the browserNo security prompts for the browser

Avoids having to publish service keysAvoids having to publish service keys

Examples:Examples:Amazon, FlickR, Virtual Earth, Google Maps, etcAmazon, FlickR, Virtual Earth, Google Maps, etc

Helps make writing Mashups easyHelps make writing Mashups easy

Page 26: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism
Page 27: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Gadget SupportGadget Support

Gadgets are a new Ajax extensibility modelGadgets are a new Ajax extensibility model

Supported by www.live.comSupported by www.live.com

Supported by new Windows Side-BarSupported by new Windows Side-Bar

Gadgets enable re-usable functionality to be published and Gadgets enable re-usable functionality to be published and shared at no cost to developer/publishershared at no cost to developer/publisher

Atlas enables developers to develop Gadgets hosted on their Atlas enables developers to develop Gadgets hosted on their servers, and for end-users to add the Gadgets into their home-servers, and for end-users to add the Gadgets into their home-page or Windows Sidebarpage or Windows Sidebar

Provides more touch with customers and opens up interesting Provides more touch with customers and opens up interesting new business model opportunities for developers and web-sitesnew business model opportunities for developers and web-sites

Page 28: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism
Page 29: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

SummarySummary

Atlas provides a rich Ajax programming Atlas provides a rich Ajax programming frameworkframework

Rich built-in integration with ASP.NETRich built-in integration with ASP.NET

Server ControlsServer Controls

Web and Application ServicesWeb and Application Services

Rich client-side JavaScript framework modelRich client-side JavaScript framework model

Build rich mashups and gadgetsBuild rich mashups and gadgets

Rich extensibility model for component Rich extensibility model for component developersdevelopers

Page 30: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

What’s new for developers?What’s new for developers?

IIS7IIS7

Page 31: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Server ArchitectureServer Architecture

HttpModuleHttpModule

Fits into HTTP pipelineFits into HTTP pipeline

Can inspect/modify requests on the way inCan inspect/modify requests on the way in

Can inspect/modify responses on the way outCan inspect/modify responses on the way out

HttpHandlerHttpHandler

Executes rendering processExecutes rendering process

Each type of content has exactly one handlerEach type of content has exactly one handler

Defined in configDefined in config

Page 32: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

IIS6 ASP.NET IntegrationIIS6 ASP.NET Integration

Page 33: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

IIS7 ASP.NET IntegrationIIS7 ASP.NET Integration

Page 34: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

IIS7 Managed ModulesIIS7 Managed Modules

Can use HttpModules at all pipeline stagesCan use HttpModules at all pipeline stages

Can be used with all types of contentCan be used with all types of content

Modules listed in IIS admin toolModules listed in IIS admin tool

Enabled/disabled per-applicationEnabled/disabled per-application

Access to HttpContext in HttpModuleAccess to HttpContext in HttpModule

Context data that used to be read-only can Context data that used to be read-only can potentially be written topotentially be written to

Page 35: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

Further InformationFurther Information

AtlasAtlas

http://atlas.asp.nethttp://atlas.asp.net

http://weblogs.asp.net/scottgu http://weblogs.asp.net/scottgu

IISIIS

http://www.asp.nethttp://www.asp.net

http://www.iis.nethttp://www.iis.net

Page 36: Building rich web applications with the ‘Atlas’ framework Mike Ormond Developer & Platform Evangelism Group, Microsoft Ltd Developer & Platform Evangelism

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only.MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.