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 ReportTranscript 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.