Ми зіткнулися з проблемою на IIS 7.5, де у нас є проста система розгортання, яка складається з наступного:
Створіть zip-файл нової веб-корені, що складається з трьох папок:
Api
Site
Manager
Це розпаковане в нову папку (скажімо, ми називаємо її "SITE_REV1") і містить сценарій, який викликає наступне (по одному для кожної веб-корені):
C:\Windows\system32\inetsrv\appcmd set vdir "www.site.com/" -physicalPath:"SITE_REV1\Site"
Зазвичай це спрацьовує в 9/10 разів. У деяких випадках веб-кореня здається оновленою правильно (якщо я перевіряю основні параметри в IIS Manager, шлях виглядає правильним), але відповідний запущений сайт фактично вказує на старе місце розташування. Єдиний спосіб, який нам вдалося "виправити", це запустити скидання IIS. Недостатньо, щоб переробити відповідний пул додатків.
Іноді здається, що навіть потрібно перезавантажити, але я не впевнена на 100%, що це правильно (це не завжди я вирішував проблему).
Я переписав сценарій за допомогою Powershell та модуля веб-адміністрування, сподіваючись, що в appcmd стався збій, але виникає та сама проблема.
Set-ItemProperty "IIS:\Sites\www.site.com" -Name physicalPath -Value "SITE_REV1\Site"
Хтось переживав щось подібне? Хтось має поняття про те, що відбувається, і що я можу спробувати зробити для запобігання цього питання? Проведення скидання IIS насправді не є хорошим варіантом для нас, оскільки це вплине на всі сайти на сервері кожного разу, коли ми намагаємось розгорнути зміни на одному сайті.
EDIT: Ми виявили, що запуск / зупинка сайту (НЕ пулу додатків) у IIS Manager вирішує помилковий фізичний шлях, але якщо я зупиняю сайт за допомогою appcmd, змінюю фізичний шлях, а потім запускаю його, я все одно страждаю від ті ж питання. Я на пусті ...