Что такое папка "Временные файлы ASP.NET"?

Я нашел эту папку в C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files и задаю несколько вопросов.

  • Что использует ASP.NET для этой папки и какие файлы хранятся здесь?
  • Как файл хранится здесь и когда он обновляется?
  • Требуется ли в папке какое-либо обслуживание?

Ответ 1

Это то, что известно как папки теневого копирования.

Упрощенно.... и я действительно это имею в виду:

Когда ASP.NET запускает ваше приложение для в первый раз он копирует любые сборки найденный в папке /bin, копирует любые файлы исходного кода (например, в папке App_Code) и анализирует ваши aspx, ascx файлы в источник С# файлы. Затем ASP.NET создает/компилирует весь этот код в runnable приложение.

Одно из преимуществ этого заключается в том, что это предотвращает возможность сборки .NET DLL # (в папке /bin ), которая блокируется рабочим процессом ASP.NET и, следовательно, не обновляется.

ASP.NET наблюдает за изменениями файлов на вашем веб-сайте и при необходимости снова начнет весь процесс.

Теоретически папке не нужно какое-либо обслуживание, но время от времени, и только очень редко вам может понадобиться удалить содержимое. Тем не менее, я работаю для хостинговой компании, мы запускаем до 1200 сайтов на один общий сервер, и мне не приходилось прикоснуться к этой папке на любой из 250 или около того машин в течение многих лет.

Об этом говорится в статье MSDN Общие сведения о динамической компиляции ASP.NET

Ответ 2

CLR использует его при компиляции во время выполнения. Вот ссылка на MSDN, который объясняет далее.

Ответ 3

Вот где asp.net помещает динамически скомпилированные сборки.