Today, developers create and test ASP.NET sites and applications using one of two web servers:
- ASP.NET Development Server, which is built into Visual Studio
- IIS Web Server, which is built into Windows.
Each has its own advantages and disadvantages, many developers have repeatedly told us - “I would very much like to easily use the ASP.NET Development Server, but at the same time have all the power and capabilities of IIS on board.” Today, I am pleased to present you a free version of IIS Express, which combines the best qualities of both web servers and will make it even easier to develop and run ASP.NET sites and applications.
IIS Express will work with VS 2010 and Visual Web Developer 2010 Express, run on Windows XP and higher, does not require administrative rights and changes to the application code. Allows you to work with all types of ASP.NET applications and develop, using the full power of IIS 7.x.
How are things in our time
Before we get into the details of IIS Express, let's quickly go over the ASP.NET Development Server and IIS.
ASP.NET Development Server
Built in Visual Studio ASP.NET Development Server (also known as “Cassini”) has the advantages of easy and quick launch. It does not listen to remote ports (which makes it easier to work in a corporate environment in terms of security), it works even when you do not have administrator rights, it does not require a separate installation on the machine.
')

The disadvantage is the incomplete set of features of the web server. For example, there is no support for SSL, URL Rewriting Rules (which I
recently wrote about ), own security settings and other features of IIS 7.
IIS web server
IIS is an alternative way to run and test applications with Visual Studio. In Visual Studio, you can configure any web project to use IIS by right-clicking on a project, going into properties and then selecting the “Web” tab:

Using IIS, as a development server, you get all the features of a web server (SSL, URL Rewrite Rules, etc.). IIS is a full-fledged web server, which means that you see exactly how your application will work on a public server.
But here there are flaws. Many companies prohibit the use of full-fledged web servers on developers' machines. IIS also requires administrative rights to install and debug projects. Different versions of Windows support different versions of IIS, for example, if you have Windows XP, then you will have IIS 5.1, which does not support all the new features of IIS 7.x. When setting up a web project in VS to use IIS, you will have to install the missing components and complete additional configuration steps.
IIS Express - all the best
We worked on the new IIS 7.x feature, which is optimized for developer scenarios, which we called “IIS Express”. We think it combines the ease of use of an ASP.NET Web Server and the full power of IIS. Here is a list of features:
- It is easier and easier to install (less than 10Mb for download and super-fast installation)
- Does not require administrator privileges to run / debug applications from Visual Studio
- Provides a full range of web server features, including SSL, URL Rewrite, media support, and other IIS 7.x modules
- Supports the same web.config extension model as IIS 7.x
- Can be installed next to IIS and ASP.NET Development Server, absolutely does not conflict
- Works on Windows XP and higher, gives all the benefits of IIS 7.x on all OS platforms
On IIS Express (as on the ASP.NET Development Server) you can quickly launch any site from a directory on the disk.
Does not require any registration steps or settings. All this allows any web developer to work simply and with taste.
Integration with VS 2010
We took care of the simple integration of IIS Express into Visual Studio 2010. You can use it instead of the ASP.NET Web Server as the default web server for ASP.NET projects. As with the ASP.NET Development Server, you do not need to register a site or a virtual directory for IIS Express. It uses the same work model as the ASP.NET Web Server today, but only gives more features.
When I click F5 to run an ASP.NET project, Visual Studio will automatically launch IIS Express and use it to run / debug applications (no additional settings are required). As with the ASP.NET Web Server operation, IIS Express will be displayed in the taskbar tray:

By right clicking on the icon and selecting “Exit” you can easily turn off IIS Express. You can also view a list of all running sites, as well as their location on the disk and the version of .NET:

Two cool features:
- The launched “Test Site”, like IIS Express itself, lives in the c: \ users \ [username] directory. That allows being a non-administrator to use IIS Express, sites and other scenarios that are not possible with the full version of IIS (including the ability to run IIS Express, both in a limited security environment in a corporate environment and in school workplaces with limited access).
- The launched “Test Site” supports HTTP and HTTPS access methods. IIS Express automatically installs a self-signed certificate and includes URL ACLs and SSL certificates for ports, so developers (not working with administrator rights) can use SSL without requiring elevation of rights for additional installation or configuration. This allows you to configure secure pages directly in applications (as login forms) for SSL and test during development, as on a real web server.
IIS 7.x Feature Set
Today, IIS Express is as easy to use as an ASP.NET Web Server. But, given the fact that IIS Express is based on IIS 7x, you have a full-featured web server in your hands. You can run your applications like on a real external web server. In addition to situations like SSL, you can use modules such as: URL Rewrite, Media Extensions, Dynamic Compression, Advanced Logging, Custom Security, and so on.
Also, IIS Express supports classic ASP and other file types and extensions that support IIS, all of which makes it ideal for sites that combine different technologies.
Conclusion
We think IIS Express will make it much easier to create, run and test web applications. It works with all versions of ASP.NET and supports all types of ASP.NET applications (including Web Forms and MVC). Even better,
you don’t need to change anything in the code . You can use it for your projects today.
The release of a public beta version of IIS Express is coming soon. You can right-click on any folder and launch the website located in this directory in IIS Express. Later this year, we will release Atch for VS 2010 and Visual Web Developer 2010 Express, which will allow using IIS Express by default instead of the built-in ASP.NET Developer Server. Further versions of Visual Studio will be provided with this functionality by default.