Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am asp.net developer , I am always confused between application and virtual directory in IIS.It seems that in iis 6.0 ,you can only create virtual directory.

share|improve this question
    
In IIS6 you create a virtual directory and then convert it to an application. – Mark Henderson Jan 14 '10 at 3:01
up vote 9 down vote accepted

Those two are easy to get confused and people often use the terms interchangeably.

A virtual directory is just a pointer to a different location on disk. It points to a fixed path on disk that is different that its parent folder.

An application is a boundary between different folders. ASP.NET uses it to create a new AppDomain root (or application root). An application root uses a different global.asax, bin folder and the other app_[folders.].

In IIS6 and IIS7 if you create a virtual directory, it is not also an application by default. ASP.NET will put it in the same AppDomain as its parent folder.

In IIS6 you can convert a virtual directory or a regular folder into an application by right-clicking -> properties and Create.

In IIS7 the options are named different but it's the same in the background. Creating a virtual directory allows you to create a vdir that is still part of its parent's AppDomain i.e. not an application).

The "Add Application" option actually creates a virtual directory AND then marks it as an application. (you'll notice that it allows you to specify a path).

You can also right-click on an existing folder (or vdir) and Convert to Application. That's a way to create the application boundary on a existing regular or virtual folder.

share|improve this answer
    
+1 Thanks.It is good explanation. – Ybbest Jan 14 '10 at 3:19
    
Default Web Site on my IIS 7 is running MOSS 2007 (SharePoint). Since I want users to feel like they are still on the portal, I created a similarly branded ASP.NET web application and set it up as a virtual directory based application under the same site. Both the Default Web Site and this ASP.NET application are using the same application pool. First of all, is this safe/good practice? Secondly, if I enable and use session in the ASP.NET application, will that in any way jeopardize the integrity/performance of SharePoint managed session, of affect SharePoint in any other way? – Web User Oct 3 '15 at 13:13
    
@WebUser It's ok to have them in the same app pool, and since they are separate applications in the app pool, the session state will be separate and isolated from each other. However, I recommend using a separate app pool anyway. If something does fail in one, you don't have to take both down to recycle or fix the other. And you'll have more flexibility to lock down the NTFS permissions to isolate them from from each other. – Scott Forsyth - MVP Oct 5 '15 at 1:57
    
@ScottForsyth-MVP I did heed to your suggestion since I wanted them to be totally isolated. I created a new application pool and a new service account, and used this article to set up the identity. I don't know why but the application throws a System.UnauthorizedAccessException after taking a while to display the page; the application is still functional but it is slow and yields the exception prompting me to open Visual Studio. Any thoughts on what I am missing? – Web User Oct 5 '15 at 2:11
    
@ScottForsyth-MVP can you please look at this question I posted on ServerFault? Thanks! – Web User Oct 5 '15 at 6:28

A virtual directory is nothing but, is just pointing or refers to your folder in your local machine or remote server. If you are create virtual directory under Default Web Site in IIS. Suppose if default web site got crashed due to some internal problem you cannot access your virtual directory.

Add application is nothing but, is a group of files that delivers content or provides services over protocols. An application belongs to an application pool; suppose due to some problem default web site got crashed it won’t affect the any application which are belongs to application pool.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.