Приводит ли какое-либо изменение в каком-либо файле внутри папки bin к повторному использованию приложения в веб-приложении ASP.NET?

Я знаю, что в веб-приложении ASP.NET изменение файла DLL, расположенного в папке bin, вызывает перезапуск приложения.

Но мне интересно, как следует из темы, вызывают ли какие-либо изменения файла такое поведение? Включены ли в этот сценарий простые текстовые файлы?

А как насчет подпапок в папку bin? А их содержимое?

Я знаю, что могу попробовать это сам, но, что более важно, я ищу для этого подходящую документацию.


person Ron Klein    schedule 21.03.2012    source источник
comment
@BarryKaye web.config файл не находится в папке bin.   -  person Kaf    schedule 21.03.2012


Ответы (2)


Во-первых, я не могу дать ссылку на официальную документацию. Но из того, что я прочитал, каждое изменение в папке bin (включая подпапки) приведет к тому, что IIS перезапустит домен приложения.

Внезапная перезагрузка пула приложений

  1. Любые изменения в каталоге BIN приложения.

  2. Внесение изменений в любые файлы конфигурации, такие как Web.config или другие (если у вас есть какой-либо конкретный файл конфигурации в вашем приложении, скажите, в каталоге с именем App_Config).

  3. Внесение изменений в файлы исходного кода в каталоге APP_CODE. Это может быть изменение любых файлов исходного кода или добавление или удаление файлов из этого каталога.

  4. Внесение изменений в файл Global.asax

  5. Внесение изменений в файл Machine.config.

  6. Внесение любых изменений в корневой каталог веб-приложения. Это означает, что создание файлов / подкаталогов на лету может привести к перезапуску пула приложений.

  7. Модификации для ссылок веб-сервисов каталога App_WebReferences.

  8. Изменение настроек безопасности любого каталога в корневом каталоге. (Например, указание прав безопасности чтения для всех или любого другого конкретного пользователя или группы пользователей.)

Вот чтение:

  1. Что вызывает повторное использование пула приложений в IIS?
  2. http://christopherdeweese.com/blog2/post/beware-writing-to-the-bin-folder-in-iis-hosted-services
  3. Что делает IISReset?
  4. http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/recycling
  5. Управление, настройка и настройка пулов приложений в IIS 7.0
  6. http://varunvns.wordpress.com/2011/07/04/application-pool-restarts/
person Tim Schmelter    schedule 21.03.2012
comment
приводит ли размещение app_offline.htm в основной каталог к ​​повторному использованию опроса приложений? - person Imran Rizvi; 21.03.2012
comment
@ Имран, как бы оратор, потому что он останавливает приложение! Вам нужно будет удалить файл, чтобы перезапустить приложение. - person misteraidan; 30.08.2012
comment
App_Config это актуально? - person Kevin Smith; 23.02.2018
comment
Это безумие! - person Zero3; 12.04.2018

НЕТ, обновление файла dll в папке bin НЕ вызывает повторного использования. По крайней мере, не с .NET 4.7 на IIS 10 и новее

Во-первых, что такое переработка?

Это когда IIS запускает новый экземпляр процесса w3wp, а старый вежливо завершается (после завершения всех запросов и фоновых задач, зарегистрированных с помощью IRegisteredObject)

Что происходит, когда вы обновляете файл в / bin?

ASP.NET выполняет горячую перезагрузку: он обнаруживает обновление и с этого момента использует новую версию DLL для запросов новых страниц. Т.е. перезагружает домен приложения. Но это происходит в том же w3wp процессе. (источник)

Я только что проверил это на машине IIS 10 с Windows 2016: запустил диспетчер задач и перепрограммировал основной файл .dll - процесс w3wp продолжал работать, ничего не произошло.

person Alex from Jitbit    schedule 03.11.2020