Vista is well known for the new graphical user interface and other cool easy to demo features. But what about the key technology that makes the web sites run on the Microsoft platform. What improvements will IIS 7 bring?
Well, in short, IIS 7’s architecture will be very similar to ASP.NET Runtime.
Here is what I mean:
1. IIS functionality will be composed of pluggable modules added by you – e.g. you can add a module that handles static files, a module for anonymous authentication, a module for Windows authentication, a module for logging, another one for tracing… you get the picture. And as in ASP.NET, all modules can be replaced with your own implementation. Imagine being able to add support for new file types without writing ISAPI Extensions!
2. The configuration info is in an XML file (ApplicationHost.config), so it’s much easier to make changes, etc. than the IIS metabase. It also gives you the ability to apply settings hierarchically – applicable to the entire server, a web site, or a virtual directory. Again, if you’re familiar with ASP.NET machine.config and web.config usage, you’ll feel right at home.
3. New programming model based on request pipeline. Requests will flow through the pipeline, and modules that delegates handling certain events will be called in order in which they are registered. Again, akin to .NET’s HttpModule architecture, except that the IIS 7 modules can be written in managed (.NET) code or not… Either way, they are treated the same.
4. ASP.NET modules and handlers can be registered right in the IIS – no more IIS to ASP.NET Runtime hand-off required prior to your modules being invoked.
5. Better WMI (Windows Management Instrumentation) integration
6. Improved tracing
and much more!
BTW, the old model will still be supported for backward compatibility purposes.