This started out as a quick post on the new Integrated mode in IIS7, and while looking for information on it, turned into a larger post on new features in IIS 7.
Integrated Mode: Integrated mode, refers to the new integrated pipeline for serving requests and responses in IIS 7. It is the way in which extensions are executed on IIS 7, and supports managed code, and not just C++ anymore. Since managed code is supported, you can write handlers in C# which can be executed on classic asp pages, static pages, etc. The common example I have seen, is that it is now possible to use asp.net forms authentication at a site level, protecting all content served from IIS. I remember being able to protect static content by changing a config setting, however the memory usage for the asp.net worker process would climb out of control because it was actually reading the file to be downloaded. I did not have enough time to try the examples I found, but they seem pretty straight forward. Check out these articles on integration mode for more details:
- http://www.iis.net/articles/view.aspx/IIS7/Extending-IIS7/Getting-Started/How-to-Take-Advantage-of-the-IIS7-Integrated-Pipel
- http://www.iis.net/articles/view.aspx/IIS7/Hosting-Web-Applications/ASP-NET/ASP-NET-Integration-with-IIS7
What does Microsoft like about IIS 7?: That might seem a little weird, or obvious, since IIS 7 is a Microsoft product. However, this blog post lists the top 10 things that Microsoft Ops like about IIS 7. I’ve picked out the ones that I think are most interesting and combined them.
- Configuration and Manageability
- AppCmd command line tool.
- XML based configuration file (ApplicationHost.config) (say bye to the metabase). Even better, is that you can share this XML config file via UNC and setup all your web servers the same way.
- Default location is: \%systemroot%\system32\inetserv\applicationHost.config (On vista it was in a config sub directory).
- I was only able to open the file after I copied it to the desktop.
- Request filtering in ApplicationHost.config replaces url scan.
- See this article to get started.
- It looks like you can only configure Request Filtering by editing the ApplicationHost.config.
- There is also a new related option, hiddenSegments that defines files and directories that are not servable. For example, web.config, /bin, etc.
- Failed Request Tracking
- Low overhead, but you still need to be careful when using on production
- UNC Content
- Improved support for sharing content from a file server to a web server.
- Use DFS and other tools in Win2k8 to sync files between 2 or more file servers to eliminate single points of failure.
- Dynamic output caching
Resources:
- Microsoft.com’s top 10 things they like about IIS 7
- Getting started with App Command
- Integration Mode Overview
- How to take advantage of Integration Mode
- Request Filtering