IIS Express – Getting Started Tutorial

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.

IIS Express

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:

2 thoughts on “IIS Express – Getting Started Tutorial

    • Not directly. I have seen a few hacks but none that worked for me.

      But this functionality is definitely coming in future releases ( but no word on the timeframe as usual however).

Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>