160 likes | 345 Views
IIS7: Building New Core Server Modules. Michael Volodarsky COM406 Program Manager Microsoft Corporation. IIS7 Server Total platform extensibility. Customize the server Build and deploy custom server components Leverage powerful modular server architecture
E N D
IIS7: Building New Core Server Modules Michael Volodarsky COM406 Program Manager Microsoft Corporation
IIS7 ServerTotal platform extensibility • Customize the server • Build and deploy custom server components • Leverage powerful modular server architecture • Robust native (C++) server features • Powerful managed (.NET) server features
IIS6 Architecture • Monolithic server implementation • Limited customization • Fixed functionality • ISAPI Filter / Extension extensibility • Limited • Difficult, error prone
IIS7 Architecture • Componentized server • Modular features • Generic request pipeline • Enables • Lightweight servers • Custom / specialized servers
IIS7 Extensibility • Public module extensibility model • DLL factory • Class-based C++ API • Rich object model • Enables • Complete extensibility • Simpler, robust code
IIS7 Modulesvs. ISAPI Filters and Extensions • More Powerful • MUCH Richer API • More granular notifications • Easier to write and more robust • Object-oriented C++ • Key patterns simplified • Easier to manage • Consistent feature management • Granular enablement
Building A Custom IIS7 Server Michael VolodarskyCOM406 Program Manager Web Platform and Tools
IIS6 ASP.NET Integration • ISAPI Extension • Only processes ASP.NET requests • Runtime limitations • ISAPI • ordering • Feature duplication • Authentication • Handler mapping • Custom errors
IIS7 ASP.NET Integration • Two modes: • ISAPI (compat) • Integrated • Integrated mode • .NET modules plug directly into server • Process all requests • Full runtime fidelity
IIS7 .NET ExtensibilityFuture of ASP.NET Development • Existing ASP.NET 2.0 API • IHttpModule and IHttpHandler types • Existing API connected to server objects • Bonus: API additions • Response header enumeration • Manipulate Request headers • Manipulate Server Variables • Configuration • ISAPI vs. Integrated mode per app-pool • Unified <modules>, <handlers> configuration
Integrated .NET Extensibility Michael VolodarskyCOM406 Program Manager Web Platform and Tools
IIS7 DevelopmentC++ or .NET? • .NET: nice and easy • Finally can do almost anything • Multi-language RAD with .NET Framework • Rich ASP.NET APIs • Sandboxed deployment (CAS) • C++: down to the metal • More control over the system • Higher performance • Specific scenarios: non-request, cross-app
CompatibilityExisting extensibility just works • Server • Built-in account • IIS6 Worker Process Isolation • Buffering on by default • ASP.NET applications • ASP.NET 1.1, ASP.NET 2.0 • 2 modes: ISAPI, Integrated • ISAPI filters and extensions • Read-raw notifications cut
LogisticsWhen, Where, How • IIS7 Bits • Final release: Windows Vista (Client + Server) • PDC: Longhorn Server ADS build only • Native API: Windows Vista beta2 refresh • At PDC • COM303: IIS7: Building Better ASP.NET Apps (in an hour!) • COM431: IIS7 Configuration and Management • COM320: IIS7 Diagnostics and Troubleshooting • Daily Hands On Labs: COM HOL13-19 • Ask The Experts table: Thursday 5:30-8:30 • IIS7 Pavilion
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.