Note : The official name for the product is IIS Developer Express although it is often shortened to IIS Express (which is Microsoft’s internal code-name).
IIS Express is a new, lightweight version of IIS which is integrated into WebMatrix (which is Mircosoft’s newly introduced web development environment, see WebMatrix Tutorial for an overview). This tutorial introduces the user to the core features of IIS Express as well as it underlying technology. IIS Express does not ship with any management module such as the IIS Manager for IIS 7 and is managed from within WebMatrix or from the IIS Express icon in the task bar (integration with Visual Studio is planned for future releases).
IIS Express is a response to the issue of web developers having to master so many tools to build apps – Visual Studio, IIS Management Console, SQL Server Management Studio. Microsoft’s plan is clearly to have a single simple tool which tightly integrates the coding tool, database management and web server management. Visual Studio does include an inbuilt web server which allows for quick testing of apps, however the inbuilt web server does not have any configuration options and is not fully compatible with IIS meaning that apps will need to be retested in the production environment. IIS Express promises a fully compatible and easy to configure testing environment for apps.
Under the Hood
An major difference between ‘classic’ IIS and IIS Developer Express is the that way worker processes are managed. In IIS the WAS (Windows Process Activation Service) silently activates and deactivates web apps and the admin has no direct control over this process. In IIS Express, there is no automated WAS process and the user has full control and responsibility for application activation and deactivation. Web sites can be launched from the WebMatrix development tool or from the command line (see below). Sites which are already running can be terminated or relaunched using the IIS Express icon in the system tray.
IIS Express is actually just a thin wrapper around the the Hostable Web Core (HWC) which is an IIS 7 API which can be used to run web applications and is essentially a web server without a user interface.
IIS Express Compatibility
IIS Express support all versions of the .NET framework from .NET 2.0 SP1 and up, the programming languages supported are Classic ASP, ASP.NET, and PHP (FastCGI is built in to IIS Express). In terms of OS’s supported it will work with any Windows operation system from XP onwards.
One key factor to note is that IIS Express is not intended for use on production servers (so it is not the IIS equivalent of the Windows Server Core). It is only intended for use on the local host and will not handle inbound traffic to the system (although it is possible in some scenarios to customize it for this purpose).
Installing IIS Express
Currently there is no separate download for IIS Express and it only comes as part of the installation of WebMatrix (which can be downloaded here). Simply install WebMatrix and IIS Express will be installed on your system.
Using IIS Express
Once WebMatrix has been installed, launch the tool and then either use a template or open a new site. Once you have a site loaded in WebMatrix, simply click the Run dropdown and select the browser to run the app in. IIS Express will then launch and run the app.
Once launched IIS Express is available in the system tray. There are only a limited number of options, primarily the ability to start and stop the apps: