Я хочу остановить сайт IIS, скопировать в него мои новые файлы / приложения и затем перезапустить сайт автоматически с помощью PowerShell-скрипта.
Когда я делаю это с помощью IIS-Manager- GUI ( щелкните правой кнопкой мыши на сайте -> стоп), все работает отлично. Сайт недоступен, все клиенты мгновенно теряют связь (используется SignalR). Я заменяю свои файлы и перезагружаюсь с помощью GUI.
. Если я попытаюсь сделать то же самое с PowerShell Stop-IISSite, сайт не будет доступен для новых запросов, но приложение, похоже, будет запущено, и существующие клиенты продолжат работать ( вроде). Если я пытаюсь скопировать свои файлы, файлы приложения по-прежнему блокируются и не могут быть заменены.
Система представляет собой Nano-сервер Win2019 с IIS 10.0, на котором запущено приложение Asp. Net Core 3.1 (интегрированный процесс AppPool) .
Вот мой PS-код:
Stop-IISSite -Name siteToReplace -confirm:$False;
Write-Host -NoNewLine 'Site siteToReplace is stopped, copy new files now..!';
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
Start-IISSite -Name siteToReplace;
Что мне здесь не хватает? Почему Stop-IISSite работает не так, как пользовательский интерфейс? Как я могу остановить сайт, включая запущенные экземпляры приложения, для замены файлов, не останавливая весь IIS?