IIS 7 Building New Core Server Modules Michael
IIS 7: Building New Core Server Modules Michael Volodarsky COM 406 Program Manager Microsoft Corporation 1
IIS 7 Server Total 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 2
IIS 6 Architecture Monolithic server implementation Limited customization Fixed functionality ISAPI Filter / Extension extensibility Limited Difficult, error prone 3
IIS 7 Architecture Componentized server Modular features Generic request pipeline Enables Lightweight servers Custom / specialized servers 4
IIS 7 Extensibility Public module extensibility model DLL factory Class-based C++ API Rich object model Enables Complete extensibility Simpler, robust code 5
IIS 7 Modules vs. 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 6
Building A Custom IIS 7 Server Michael Volodarsky COM 406 Program Manager Web Platform and Tools 7
IIS 6 ASP. NET Integration ISAPI Extension Only processes ASP. NET requests Runtime limitations ISAPI ordering Feature duplication Authentication Handler mapping Custom errors 8
IIS 7 ASP. NET Integration Two modes: ISAPI (compat) Integrated mode. NET modules plug directly into server Process all requests Full runtime fidelity 9
IIS 7. NET Extensibility Future of ASP. NET Development Existing ASP. NET 2. 0 API IHttp. Module and IHttp. Handler 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 10
Integrated. NET Extensibility Michael Volodarsky COM 406 Program Manager Web Platform and Tools 11
IIS 7 Development C++ 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 12
Compatibility Existing extensibility just works Server Built-in account IIS 6 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 13
Logistics When, Where, How IIS 7 Bits Final release: Windows Vista (Client + Server) PDC: Longhorn Server ADS build only Native API: Windows Vista beta 2 refresh At PDC COM 303: IIS 7: Building Better ASP. NET Apps (in an hour!) COM 431: IIS 7 Configuration and Management COM 320: IIS 7 Diagnostics and Troubleshooting Daily Hands On Labs: COM HOL 13 -19 Ask The Experts table: Thursday 5: 30 -8: 30 IIS 7 Pavilion 14
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. 15
- Slides: 15