2009-06-16 1 views
30

Quando si crea un nuovo sito Web su IIS, è possibile scegliere tra "Applicazione" e "Directory virtuale". Qual è la differenza tra queste due opzioni?Creazione di un nuovo sito Web su IIS: Applicazione e directory virtuale. Qual è la differenza?

+1

Dove si arriva a scegliere quello? Dall'applicazione, intendi "Pool di applicazioni"? –

+1

Su una installazione IIS pulita apri "Siti" e fai clic con il pulsante destro del mouse su "Predefinito". Nel menu di scelta rapida si arriva a "Aggiungi applicazione" e "Aggiungi directory virtuale" – roosteronacid

+1

Duplicato: http://stackoverflow.com/q/5500326/80161 –

risposta

23

Ci sono alcune differenze, qui il più grande:

  • In IIS 6 e versioni successive, è possibile assegnare un'applicazione a un determinato livello di "protezione". (ad esempio livelli di protezione, pool di applicazioni, ecc.). Non è possibile farlo con Directory virtuali
  • Se si utilizza ASP.NET, la ricerca del file "Web.config" principale per l'applicazione si interrompe a livello dell'applicazione. Per una directory di lavoro, in realtà controllerà anche la gerarchia dei genitori per le impostazioni.

Queste sono le due più grandi differenze a mio parere, anche se ce ne sono altre di piccole dimensioni.

+0

mjmarsh, hai torto. Vedo in IIS 7 che puoi configurare "Connetti come utente specifico o le impostazioni utente dell'applicazione sia per la directory virtuale sia per l'applicazione." – Learner

+2

Stavo parlando di isolamento del processo. Vedo che è possibile impostare le credenziali da utilizzare quando si accede al risorse del file di directory virtuale ma non vedo alcun modo per associare una directory virtuale a un pool di applicazioni (diverso da impostarlo a livello dell'applicazione madre) –

27

Una directory virtuale è solo un puntatore a dove sono memorizzate le pagine Web.

Un'applicazione riserva memoria in IIS per le pagine Web. Se si sta tentando di eseguire pagine ASP e si pianifica di utilizzare le variabili di sessione e tali file, è necessario utilizzare un'applicazione. un'applicazione può fare uso di una directory virtuale o può esistere solo all'interno della directory del sito Web predefinito (inetpub/wwwroot /)

+5

+1 Ma si noti che questa non è la fine della storia, poiché non è il pool di applicazioni che memorizza le variabili di sessione, è invece il processo w3wp.exe, e se il pool di applicazioni è configurato per utilizzare più di un w3wp.exe (noto anche come "web garden"), è necessario utilizzarne uno Sessioni OutProc (poiché richieste diverse dello stesso utente potrebbero essere indirizzate a processi diversi), ma hai ragione che w3wp.exe si basa sul pool di applicazioni e non su una directory virtuale –

0

Dal punto di vista di uno sviluppatore web:

Una directory virtuale è l'IIS 5 (Windows 2000 e versioni precedenti) contenitore per il contenuto HTML. È inoltre possibile configurare una directory virtuale per consentire l'interpretazione degli script ASP (Active Server Pages) e/o l'esecuzione di applicazioni CGI (Common Gateway Interface). Una directory virtuale NON può ospitare un'applicazione Web ASP.Net.

Il tipo di contenitore "applicazione" è stato introdotto con IIS 6 (Windows XP/Windows Server 2003 e versioni successive). Permette l'hosting di applicazioni Web ASP.Net.