Подтвердить что ты не робот

ASP.NET не может создать/теневую копию в ПРОДУКЦИИ

Недавно мы обновили довольно большой веб-сайт ASP.NET(~ 1500th alexa traffic ranking) для использования VS2010 и .NET 4.0, работающих под управлением Windows Server 2008 R2

С тех пор, когда мы развертываем новые версии сайта, мы иногда замечаем ту же ошибку в этом сообщении: ASP.Net не может создать/теневую копию Сообщение об ошибке: Невозможно создать/теневую копию 'xxxx, Version = 4.0.4301.26898, Culture = neutral, PublicKeyToken = null', когда этот файл уже существует

Однако, в отличие от этого сообщения, ошибка возникает только в наших производственных средах и только на некоторых серверах.

После того, как мы отправляем новую версию кода, мы перерабатываем все AppPools, и начинается ошибка.

Еще одна утилита AppPool, похоже, устраняет проблему, однако я действительно хочу знать, как мы можем избежать этой проблемы в первую очередь?

4b9b3361

Ответ 1

Мы наконец решили наши проблемы "Невозможно создать/теневую копию". Проблема оказалась обусловлена ​​сроками утилизации нашего AppPool и копией нашего каталога. Он работал примерно так:

  • скопируйте главный веб-сайт в: server\directory
  • утилизировать пул приложений для веб-сайта
  • копировать небольшой сайт администратора на сервер \otherdirectory

Проблема заключалась в том, что наш административный сайт был виртуальным каталогом основного сайта и использовал тот же AppPool. Это отлично работает в .NET 2.0, но я думаю, что мы можем определить неудачи при обновлении до .NET 4.0. Кажется, просто отлично, если мы сделаем это следующим образом:

  • скопируйте главный веб-сайт в: server\directory
  • копировать небольшой сайт администратора на сервер \otherdirectory
  • утилизировать пул приложений для веб-сайта

Ответ 2

Мы обнаружили, что исключение временных папок asp.net из индексации (и сканирования вирусов) устранило наши ошибки в теневом копировании.

Пример PowerShell script для службы индексирования в Windows Server 2003:

Set-ItemProperty -path

HKLM:\SYSTEM\CurrentControlSet\Control\ContentIndex\Каталоги\Web\Скоупсом -name "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Временные файлы ASP.NET" -значение ", 4"

Перезапуск-сервис cisvc