Folder wirtualny lub katalog wirtualny to po prostu łącze do folderu fizycznego gdzieś na serwerze. Ten folder staje się częścią struktury witryny i możesz użyć katalogu wirtualnego w części ścieżki adresów URL. Kod wykonywany w katalogach wirtualnych będzie wykonywany w tej samej "aplikacji", co nadrzędnej.
Aplikacja to miejsce, w którym kod uruchamiany wewnątrz tego "folderu" ma własny stan sesji i stan aplikacji. Jest to w rzeczywistości nowa samodzielna aplikacja żyjąca pod aplikacją root.
Na przykład, jeśli użytkownik wdroży aplikację ASP.NET w lokacji, która ma folder aplikacji o nazwie /myapp
, wówczas ta aplikacja będzie miała własną domenę aplikacji, stan sesji, stan aplikacji całkowicie oddzielony od innej aplikacji ASP.NET działa w /
. Na przykład: jeśli ustawisz wartość aplikacji Application["Thing"] = 123
w aplikacji root, a następnie zrobisz to samo, ale z inną wartością w /myapp
, wtedy Application["Thing"]
w katalogu głównym nie zostanie nadpisane przez przypisanie w /myapp
.
Inną rzeczą, którą można zrobić z aplikacjami, jest określenie innej puli aplikacji, która ma działać. Na przykład aplikacja root może zawierać aplikację ASP.NET 2.0 i działać w puli skonfigurowanej dla platformy .NET 2.0. Możesz jednak uruchomić blog lub aplikację forum napisaną w ASP.NET 4.0. Teraz, ponieważ nie można łączyć wersji środowiska wykonawczego ASP.NET w tej samej puli aplikacji, można określić alternatywną pulę aplikacji specjalnie dla aplikacji ASP.NET 4.0.
Aplikacje mogą również zachowywać się jak katalogi wirtualne i można wskazać folder aplikacji w folderze fizycznym w innym miejscu na serwerze.
Jeśli jesteś zainteresowany w mechanice bazowych katalogów wirtualnych i aplikacji na IIS7 następnie przyjrzeć się tej odpowiedzi napisałem jakiś czas temu:
Using ServerManager to create Application within Application
Duplikat http://stackoverflow.com/q/1002981/80161 –
Niedawno zmieniłem na Tomcat. Stwierdziłem, że jest to mniej koncepcja i bardziej przejrzysty model wdrażania. – smwikipedia