Różnica między aplikacją a wirtualnym katalogiem

11

Jestem programistą asp.net, zawsze jestem mylony między aplikacją a katalogiem wirtualnym w IIS. Wygląda na to, że w iis 6.0 możesz tylko utworzyć katalog wirtualny.

Ybbest
źródło
1
W IIS6 tworzysz katalog wirtualny, a następnie przekształcasz go w aplikację.
Mark Henderson

Odpowiedzi:

13

Tych dwoje łatwo się pomylić, a ludzie często używają terminów zamiennie.

Katalog wirtualny to tylko wskaźnik do innej lokalizacji na dysku. Wskazuje na stałą ścieżkę na dysku inną niż jego folder nadrzędny.

Aplikacja stanowi granicę między różnymi folderami. Program ASP.NET używa go do utworzenia nowego katalogu głównego AppDomain (lub katalogu głównego aplikacji). Katalog główny aplikacji używa innego pliku global.asax, bin i innych app_ [folderów.].

Jeśli tworzysz katalog wirtualny w IIS6 i IIS7, domyślnie nie jest to również aplikacja. ASP.NET umieści go w tej samej domenie aplikacji, co folder nadrzędny.

W IIS6 możesz przekonwertować katalog wirtualny lub zwykły folder do aplikacji, klikając prawym przyciskiem myszy -> właściwości i Utwórz.

W IIS7 opcje mają różne nazwy, ale w tle są takie same. Utworzenie katalogu wirtualnego umożliwia utworzenie katalogu vdir, który jest nadal częścią AppDomain jego rodzica, tj. Nie jest aplikacją).

Opcja „Dodaj aplikację” faktycznie tworzy katalog wirtualny ORAZ następnie oznacza go jako aplikację. (zauważysz, że pozwala to określić ścieżkę).

Możesz także kliknąć prawym przyciskiem myszy istniejący folder (lub vdir) i przekonwertować na aplikację. Jest to sposób na utworzenie granicy aplikacji w istniejącym folderze zwykłym lub wirtualnym.

Scott Forsyth - MVP
źródło
Domyślna witryna sieci Web w moim IIS 7 ma MOSS 2007 (SharePoint). Ponieważ chcę, aby użytkownicy czuli się, jakby nadal byli w portalu, stworzyłem aplikację internetową ASP.NET o podobnej nazwie i skonfigurowałem ją jako aplikację opartą na katalogu wirtualnym w tej samej witrynie. Zarówno domyślna witryna sieci Web, jak i ta aplikacja ASP.NET korzystają z tej samej puli aplikacji. Przede wszystkim, czy jest to bezpieczna / dobra praktyka? Po drugie, jeśli włączę i używam sesji w aplikacji ASP.NET, czy w jakikolwiek sposób zagrozi to integralności / wydajności sesji zarządzanej przez SharePoint, wpłynie na SharePoint w jakikolwiek inny sposób?
Użytkownik sieci Web
@WebUser Można mieć je w tej samej puli aplikacji, a ponieważ są one oddzielnymi aplikacjami w puli aplikacji, stan sesji będzie oddzielny i odizolowany od siebie. Mimo to zalecam użycie oddzielnej puli aplikacji. Jeśli coś zawiedzie w jednym, nie musisz zdejmować obu w celu recyklingu lub naprawy drugiego. Będziesz miał większą elastyczność blokowania uprawnień NTFS, aby odizolować je od siebie.
Scott Forsyth - MVP
@ ScottForsyth-MVP Posłuchałem twojej sugestii, ponieważ chciałem, aby były całkowicie odizolowane. Utworzyłem nową pulę aplikacji i nowe konto usługi i wykorzystałem ten artykuł do skonfigurowania tożsamości. Nie wiem dlaczego, ale aplikacja System.UnauthorizedAccessExceptionwyświetla chwilę po wyświetleniu strony; aplikacja nadal działa, ale działa wolno i generuje wyjątek monitujący o otwarcie programu Visual Studio. Masz jakieś przemyślenia na temat tego, czego mi brakuje?
Użytkownik sieci Web,
@ ScottForsyth-MVP, czy możesz spojrzeć na to pytanie, które zamieściłem na ServerFault? Dzięki!
Użytkownik sieci Web,
@WebUser. Prawdopodobnie Twoja niestandardowa tożsamość musi zostać dodana do grupy IIS_WPG. Było to wymagane w IIS6. Odpowiedziałem też na twój drugi post.
Scott Forsyth - MVP
2

Możesz także sprawdzić .. Czy wiesz: Różnica między katalogiem wirtualnym a aplikacją w IIS 7 / 7.5

Edytowano: Aby zacytować witrynę, ponieważ link jest martwy;

W usługach IIS 7 / 7.5 istnieje możliwość utworzenia katalogu wirtualnego i aplikacji.

Co to jest katalog wirtualny?

Katalog wirtualny to katalog odwzorowany na lokalny katalog fizyczny lub katalog na zdalnym serwerze. Katalog wirtualny będzie miał kod wykonywany w tym samym procesie roboczym co proces nadrzędny. Pula aplikacji witryny sieci Web i katalogu wirtualnego jest taka sama.

Image05

Co to jest aplikacja?

Aplikacja jest identyczna z katalogiem wirtualnym, z tą różnicą, że masz opcję uruchomienia aplikacji w innej puli aplikacji.

Image06

UWAGA: tak wyglądają powyższe zrzuty ekranu w applicationhost.config

Vivek Kumbhar
źródło
0

Katalog wirtualny to nic innego, tylko wskazuje lub odnosi się do folderu na komputerze lokalnym lub serwerze zdalnym. Jeśli tworzysz katalog wirtualny w Domyślnej witrynie sieci Web w IIS. Załóżmy, że jeśli domyślna witryna ulegnie awarii z powodu jakiegoś wewnętrznego problemu, nie możesz uzyskać dostępu do katalogu wirtualnego.

Dodaj aplikację to nic innego, to grupa plików, która dostarcza zawartość lub świadczy usługi za pośrednictwem protokołów. Aplikacja należy do puli aplikacji; przypuśćmy, że z powodu jakiegoś problemu domyślna witryna uległa awarii, nie wpłynie to na żadną aplikację należącą do puli aplikacji.

Gana AMS
źródło