Previously, when developers built and tested ASP.Net sites and applications, they use one of these two servers: Visual Studio’s ASP.NET Development Server and the Windows’ IIS Web Server. Each option has its pros and cons. Then, an increasing number of developers expressed their desire to have a server that exhibits the characteristics of user-friendly ASP.NET Development Server along with the features included in IIS 7.
This demand resulted in IIS Express, currently in version 10.0, which offers features from both servers. Plus, you can configure it for Prefix to take advantage of our powerful code profiling solution.
A Definition of IIS Express
Anyone who uses ASP.NET understands the importance of IIS logs in managing performance; check out this post for some insights on how to read and customize those logs for basic ASP.NET performance monitoring. But if you don’t want to install IIS on your development workstation, IIS Express is a solid, lightweight alternative that’s self-contained and designed to make it easy for developers to build and test websites.
It also offers the power of IIS 7. The server is integrated into WebMatrix and does not ship with IIS Manager for IIS 7. Instead, it is managed from within WebMatrix or from the icon. The Microsoft WebMatrix is an integrated suite of tools to manage ASP.NET and PHP development. Although, you can also install it independently.
How It Works
It works with both Visual Studio and Visual Web Developer. In addition, it runs on Windows XP or higher. Plus, it does not require an administrator account nor any code changes. In fact, you can use it with all forms of ASP.NET applications. Moreover, you can build and test applications using it in Visual Studio, but it needs to be installed separately and manually launched from the command line. Here’s how:
- Open a command prompt.
- Locate the installation folder, then run this command:
cd \Program Files\IIS Express
- To view the usage string, run this command:
- Select /config to either run your site from a configuration file or use /path to run your site from an application folder.
The configuration file is located in the %userprofile%\Documents\IISExpress\config directory or %userprofile%\My Documents\IISExpress\config directory. To run it from the default.config file, type this command:
If you want to disable the system tray, execute this command:
It’s designed for developers who do not want to install IIS on their development computers. Nonetheless, it does come with a few performance and security limitations that do not make it ideal as a production web server. Many developers use it when running and testing applications with Visual Studio. It does enable a full web-server feature set, including:
- URL Rewrite
- Media support
If you take a look at the System Tray, you can see which applications are running. If you aren’t able to view the icon in your System Tray, click on Hidden Icons, then right-click Hello World, http://localhost:5791/ . Here, you can look at the port number for each application, to use in a URL. You can also click Show All Applications in the context menu to view the Logi applications running, along with their details.
Another option is to click Start, All Programs, Microsoft WebMatrix. Then, click My Sites. Select the site you want to open and click OK.
IIS Express vs. IIS
Because it’s based on IIS 7, it supports every core feature. Still, there are differences such as how worker processes are facilitated. Here’s a look at a few notable differences between the two:
- Does not have a WAS
- Gives the user complete control over application activation and deactivation
- Is included with WebMatrix and can be installed separately
- Allows standard users to complete most tasks (without administrator user rights)
- Is ideal for development but not production
- Does not support FTP
- Has system tray support
- Ships with the OS
- Requires administrator user rights to run WAS
- Is designed for developers and production
- Supports FTP
Benefits of IIS Express
Many developers find that it enables an easier process for building, running and testing web applications. This is especially true since it works with all versions of ASP.NET and supports all forms of ASP.NET applications. Plus, you can utilize the server’s features without having to change any code. Not to mention, you get a full web-server feature-set, so you can build and run your applications just as they would work on a production web-server.
As you can see, it’s quite user-friendly and comes with almost all of the features of IIS 7. The primary caveat is that it should not be used as a production server.
Additional Resources and Tutorials
For more information, including some useful tutorials, visit the resources below:
- Make Web Development Easier with IIS Express
- Deploying Web Applications using IIS Express
- Web Servers in Visual Studio for ASP.NET Web Projects
- How to configure urls for Kestrel, WebListener and IIS express in ASP.NET Core