When you create a new website on IIS, you get to choose between an \"Application\" and a \"Virtual Directory\". What is the difference between those two options?
A virtual directory is just a pointer to where web pages are stored.
An Application reserves memory in IIS for your web pages. If you are attempting to run ASP pages and plan to make use of session variables and the such then you must use an application. An Application can make use of a virtual directory or it may just exist within the default web site directory (inetpub/wwwroot/)
From the point of view of a web developer:
A virtual directory is the IIS 5 (Windows 2000 and earlier) container for HTML content. A virtual directory can also be configured to allow the interpretation of Active Server Pages (ASP) scripts and/or the execution of Common Gateway Interface (CGI) applications. A virtual directory CANNOT host an ASP.Net web application.
The "application" container type was introduced with IIS 6 (Windows XP / Windows Server 2003 and later). It allows for hosting of ASP.Net web applications.
There are a few differences, here are the biggest:
These are the two biggest differences in my opinion, although there are other small ones as well.