ASP.Net не может создать / теневую копию в ПРОДУКЦИИ - PullRequest
15 голосов
/ 14 октября 2011

Недавно мы обновили довольно большой веб-сайт ASP.NET (~ 1500-й рейтинг трафика alexa), чтобы использовать VS2010 и .NET 4.0, работающие на Windows Server 2008 R2

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

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

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

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

Ответы [ 2 ]

4 голосов
/ 29 ноября 2011

Мы наконец решили наши проблемы «Не удается создать / теневое копирование». Проблема оказалась из-за сроков перезапуска нашего AppPool и наших копий каталогов. Это сработало примерно так:

  1. скопировать основной сайт в: сервер \ каталог
  2. утилизация пула приложений для веб-сайта
  3. скопировать небольшой сайт администратора на сервер \ другой каталог

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

  1. скопировать основной сайт в: сервер \ каталог
  2. скопировать небольшой сайт администратора на сервер \ другой каталог
  3. утилизация пула приложений для веб-сайта
4 голосов
/ 11 ноября 2011

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

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

Set-ItemProperty –path

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

Restart-Service cisvc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...