Різниця між додатком і віртуальним каталогом


11

Я розробник asp.net, я завжди плутаюся між додатком і віртуальним каталогом в IIS. Здається, що в iis 6.0 ви можете створювати лише віртуальний каталог.


1
У IIS6 ви створюєте віртуальний каталог і потім перетворюєте його в додаток.
Марк Хендерсон

Відповіді:


13

Ці два легко заплутатися, і люди часто використовують терміни взаємозамінно.

Віртуальний каталог - це лише вказівник на інше місце на диску. Він вказує на фіксований шлях на диску, який відрізняється від його батьківської папки.

Додаток - це межа між різними папками. ASP.NET використовує його для створення нового кореня AppDomain (або кореня програми). Корінь програми використовує іншу global.asax, папку bin та іншу app_ [папки.]

У IIS6 та IIS7, якщо ви створюєте віртуальний каталог, він також не є додатком за замовчуванням. ASP.NET помістить його в той же AppDomain, що і його батьківська папка.

У IIS6 ви можете перетворити віртуальний каталог або звичайну папку в програму, клацнувши правою кнопкою миші -> властивості та Створити.

У IIS7 параметри названі різними, але вони однакові у фоновому режимі. Створення віртуального каталогу дозволяє створити vdir, який все ще є частиною батьківського AppDomain, тобто не додатком).

Параметр «Додати додаток» фактично створює віртуальний каталог І потім позначає його як додаток. (ви помітите, що це дозволяє вказати шлях).

Ви також можете клацнути правою кнопкою миші на існуючій папці (або vdir) та перетворити в програму. Це спосіб створити межу програми в існуючій звичайній або віртуальній папці.


Веб-сайт за замовчуванням на моєму IIS 7 працює MOSS 2007 (SharePoint). Оскільки я хочу, щоб користувачі відчували, як вони все ще перебувають на порталі, я створив аналогічну фірмову веб-програму ASP.NET і налаштував її як додаток на основі віртуальної каталогів на тому ж сайті. І веб-сайт за замовчуванням, і ця програма ASP.NET використовують один і той же пул програм. Перш за все, це безпечна / хороша практика? По-друге, якщо я вмикаю та використовую сеанс у додатку ASP.NET, чи будь-яким чином загрожує цілісність / продуктивність сеансу, що керується SharePoint, впливати на SharePoint будь-яким іншим способом?
Веб-користувач

@WebUser Це нормально, якщо вони є в одному пулі додатків, і оскільки вони є окремими програмами в пулі додатків, стан сеансу буде окремим та ізольованим один від одного. Однак я все-таки рекомендую використовувати окремий пул додатків. Якщо щось не вдається в одному, вам не доведеться знімати обидва вниз, щоб переробити або виправити інший. І у вас буде більше гнучкості для блокування дозволів NTFS, щоб ізолювати їх один від одного.
Скотт Форсайт - MVP

@ ScottForsyth-MVP Я прислухався до вашої пропозиції, оскільки хотів, щоб вони були повністю ізольованими. Я створив новий пул додатків та новий обліковий запис сервісу і використав цю статтю для встановлення особи. Я не знаю, чому, але додаток проходить System.UnauthorizedAccessExceptionчерез деякий час, щоб відобразити сторінку; додаток як і раніше функціонує, але він повільний і дає виняток, що спонукає мене відкрити Visual Studio. Будь-які думки щодо того, що мені не вистачає?
Веб-користувач

@ ScottForsyth-MVP Ви можете, будь ласка, подивитись на це питання, яке я опублікував на ServerFault? Дякую!
Веб-користувач

@WebUser. Можливо, вашу власну особу потрібно додати до групи IIS_WPG. Це було вимогою в IIS6. Я відповів і на ваш інший пост.
Скотт Форсайт - MVP

2

Ви також можете перевірити .. Чи знаєте ви: Різниця між віртуальною каталогом та додатком у IIS 7 / 7.5

Відредаговано: цитувати сайт, оскільки посилання мертве;

У IIS 7 / 7.5 у вас є можливість створити віртуальний каталог та програми.

Що таке віртуальний каталог?

Virtual Directory - це каталог, який відображається у локальному фізичному каталозі або в каталозі на віддаленому сервері. Віртуальна директорія матиме код, виконаний у тому ж робочому процесі, що і батьківський процес. Пул додатків веб-сайту та віртуальної каталогів однаковий.

Зображення05

Що таке додаток?

Додаток ідентичний віртуальному каталогу, за винятком того, що у вас є можливість запустити програму в іншому пулі програм.

Зображення06

ПРИМІТКА. Ось так виглядають наведені вище скріншоти в applicationhost.config


0

Віртуальний каталог - це не що інше, як лише вказівний або посилається на вашу папку на локальній машині або віддаленому сервері. Якщо ви створюєте віртуальний каталог на веб-сайті за замовчуванням у IIS. Припустимо, якщо веб-сайт за замовчуванням зірвався через якусь внутрішню проблему, ви не можете отримати доступ до своєї віртуальної каталоги.

Додаток додаток - це не що інше, як група файлів, яка надає вміст або надає послуги за протоколами. Додаток належить до пулу програм; припустимо, через якусь проблему веб-сайт за замовчуванням зірвався, це не вплине на будь-яку програму, що належить до пулу програм.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.