Saad Ladki Program Manager Microsoft Corporation WUX403 Agenda IIS 7 Architecture Extending the Pipeline Demo: Modules & Handlers Extending the Configuration Demo: Dynamic Configuration Extending the UI Demo: IIS Manager.

Download Report

Transcript Saad Ladki Program Manager Microsoft Corporation WUX403 Agenda IIS 7 Architecture Extending the Pipeline Demo: Modules & Handlers Extending the Configuration Demo: Dynamic Configuration Extending the UI Demo: IIS Manager.

Saad Ladki
Program Manager
Microsoft Corporation
WUX403
Agenda
IIS 7 Architecture
Extending the Pipeline
Demo: Modules & Handlers
Extending the Configuration
Demo: Dynamic Configuration
Extending the UI
Demo: IIS Manager Module
IIS6 Architecture
HTTP
Request
HTTP
Response
Authentication
Basic
NTLM
Anon
...
CGI
Determine
Handler
Static
File
ISAPI
...
Response Compression
Logging
Monolithic server
implementation
Limited
customization
Fixed functionality
Limited ISAPI Filter
extensibility
IIS6 + ASP.NET
HTTP
Request
ISAPI Extension
Authentication
Basic
Anon
NTLM
...
aspnet_isapi.dll
CGI
Determine
Handler
Static
File
Authentication
Forms
Windows
...
ASPX
ISAPI
Map
Handler
...
Trace
...
SendResponse
Log
HTTP
Response
Compre
ssion
...
Only processes
ASP.NET requests
Runtime limitations
Feature duplication
IIS7 Architecture
HTTP
Request
HTTP
Response
Basic
40+
Authentication
NTLM
Basic
Anon
Authorization
...
ResolveCache
Url
Authz
Output
Cache
...
CGI
Determine
Static
Handler
ExecuteHandler File
...
...
ISAPI
UpdateCache
SendResponse
Compre
SendResponse
Log
ssion
Forward
er
Componentized
server
Pluggable modular
functionality
Small generic request
pipeline
Enables
Lightweight servers
Custom / specialized
servers
IIS7 ASP.NET Integration
Classic Mode
HTTP
Request
For compatibility
Basic
Authentication
Anon
Authorization
Integrated Mode
ResolveCache
Can process all requests
Enhanced functionality
Higher fidelity
notifications
...
aspnet_isapi.dll
ExecuteHandler
Authentication
Forms
Windows
...
Static
File
Map
Handler
Compre
ssion
Log
HTTP
Response
ASPX
ISAPI
UpdateCache
SendResponse
...
Trace
...
...
Extending the Pipeline
.NET Extensibility
Existing ASP.NET API
IHttpModule and IHttpHandler types
Expanded ASP.NET APIs
New HttpApplication Events
MapRequestHandler, LogRequest, PostLogRequest
HttpRequest.Headers
HttpResponse.Headers
HttpResponse.DisableKernelCache
HttpRequest.ServerVariables
Extending the Pipeline
Handlers vs. Modules
Modules provide services to all requests
Basic Authentication module
Compression module
Handlers provide services to specific extensions
ISAPI handler (.dll)
Static handler (.htm, .jpg, .gif, etc)
IIS 7 pipeline allows native and managed modules and
handlers
“Integrated” Application Pool mode
use the managed modules and handlers
“Classic” Application Pool
IIS 6 style invocation of .NET
Modules & Handlers
Saad Ladki
Program Manager
Microsoft Corporation
Contoso.com root
Configuration System
.NET + IIS7
Contoso.com \
Orders
.NET Framework
Machine.config
Root web.config
NET global settings
ASP.net
global settings
Site web.config
<system.web>
.NET settings
..
..
IIS 7
Applicationhost.config
Global settings and
location tags
..
<system.webServer>
IIS7 Delegated
settings
..
Extending Configuration
IIS settings now live in ApplicationHost.config
Can also be specified in web.config if delegation
is allowed
All settings are schematized in XML
Schema files live in
%windir%\system32\inetsrv\config\schema
Extending configuration
Static Configuration
Drop a .xml file into the schema directory
Add a section to applicationHost.config
Dynamic Configuration
Add dynamic properties and behavior to config
AHADMIN - Application Host
Administration Interface
Implemented in %Windows%\System32\Inetsrv\nativerd.dll
Implements IIS native configuration stack
Exposes a COM API
Exposes three interfaces for Dynamic Extensibility
IAppHostPropertyExtension
IAppHostMethodExtension
IAppHostElementExtension
Dynamic Configuration
Saad Ladki
Program Manager
Microsoft Corporation
Tools for Every Need
AppCmd.exe
Command line to query and modify configuration
IIS Manager
User Interface for end users
WMI
New WMI provider to query and edit configuration
Scripting
AHADMIN is a new COM interface for managing configuration system
Managed Code
Microsoft.Web.Administration provides a simple managed
API to edit configuration
IIS Manager
Completely re-written using .NET Windows
Forms and managed code
IIS Manager is now easily extensible
Add new feature pages
Extend tasks for sites/applications
And more…
Extensibility Framework
Microsoft.Web.Management.dll
Transparent remoting over HTTPS
IIS Manager Architecture
IIS Manager Client
Connection
Connection
Manager
Module
and
UI
Content
Configuration
Framework
IIS 7.0
Module
Module
Service
Proxy
Service
Runtime
State
Module UI
Web Management Service
Provider(WMSvc)
Standalone Web Server
Data
http://server:8172
Application AppDomain
Provider
Extending IIS Manager
Develop service-side functionality
ModuleProvider
ModuleService
Develop client-side functionality
Module
ModuleServiceProxy
ModulePage
IIS Manager Module
Saad Ladki
Program Manager
Microsoft Corporation
Summary
IIS7 provides end-to-end extensibility for the
developer through
The pipeline
The configuration system
The UI
Diagnostics
Try it out and see how simple it is
All the resources you need & more
Saad Ladki
Program Manager
Microsoft Corporation
Resources
www.microsoft.com/teched
www.microsoft.com/learning
Sessions On-Demand & Community
Microsoft Certification & Training Resources
http://microsoft.com/technet
http://microsoft.com/msdn
Resources for IT Professionals
Resources for Developers
www.microsoft.com/learning
Microsoft Certification and Training Resources
Related Content
WSV322 Web Application Deployment, Packaging, and Migration
WSV304 Deploying and Managing Scalable Web Server Farms with IIS 7.0
WSV205 Extend Your Web Server: What's New in IIS and the Microsoft Web Platform
WSV04-HOL Delegating the Administration of IIS 7.0 to Remote Users
Complete an
evaluation on
CommNet and
enter to win!
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.