Частый доступ запрещен во временные файлы ASP.NET

AngularJS внесло критическое изменение в версии 1.3.0 !

К сожалению, ответ Райкамала больше не является правильным.

Начиная с этой версии, только эти 6 значений считаются ложными:

  1. false
  2. null
  3. undefined
  4. NaN
  5. 0
  6. ""

Значения 'f', '0', 'false', 'no', 'n' и [] (!) Стали правдой.

Таким образом, использование

больше не может быть рекомендовано, если div должен быть видимым, только если items содержит хотя бы 1 элемент, потому что даже с items = [] он будет отображаться.

14
задан ProfK 27 May 2009 в 19:01
поделиться

5 ответов

Это часто случается во время разработки, когда вы постоянно изменяете страницы aspx, ASP.NET пытается скомпилировать, а VS пытается скомпилировать, а ASP.NET пытается выполнить файлы. Кроме того, иногда блокировка снимается при сбросе IIS.

iisreset /stop
del "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\*.*"  /Q /F /S
del “C:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\*.*” /Q /F /S
iisreset /start

Если это происходит в производственной среде, добавьте это в свой файл web.config.

<compilation tempDirectory = “C:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\Other\” />

(прокрутите в сторону, ключ в том, чтобы выбрать папку \ Other \, отличную от папки по умолчанию.

И, наконец, используйте проект развертывания чтобы попытаться предварительно скомпилировать все заранее. Отсутствие компиляции означает отсутствие попыток заменить что-либо во временной папке

Или вы можете попробовать диагностику ОС и попытаться выяснить, какой процесс заблокировал этот файл, и убить этот процесс. стоит затраченных усилий, когда существуют более простые решения.

11
ответ дан 1 December 2019 в 09:33
поделиться

Убедитесь, что у вас нет такого процесса, как "Windows Desktop Search", индексирующего эту папку.

0
ответ дан 1 December 2019 в 09:33
поделиться

Похоже, у вас есть что-то, что удерживает открытый дескриптор этого файла; вы можете отследить его с помощью Filemon или другого подобного инструмента, чтобы узнать, какой процесс удерживает открытый дескриптор.

0
ответ дан 1 December 2019 в 09:33
поделиться

У меня были подобные проблемы в прошлом из-за того, что антивирусная программа рабочей станции обращалась к файлу в "неправильное" время. Еще один инструмент, который вы можете использовать для определения того, где открыт файл: Process Explorer (рекомендуется для вашего личного арсенала, даже если он здесь бесполезен, честно говоря).

1
ответ дан 1 December 2019 в 09:33
поделиться

ЕСЛИ это - это блокировка, вызванная каким-либо внешним процессом, например антивирусным сканером или поисковым индексатором, то вы можете попробовать использовать разрешения Windows для блокировки прав других пользователей. и процессы для чтения файлов. По умолчанию каталог Temporary ASP.NET Files доступен пользователям, администраторам, IIS_USR, SYSTEM и TrustedInstaller, то есть почти всем.

Воспользуйтесь советом Мэтью Мартина о другой папке компиляции;

<compilation tempDirectory = “C:\LimitedPermissionCompilationDir\” />

А затем ограничьте папку LimitedPermissionCompilationDir только пользователями и группами, которым требуется разрешение - скажем, IIS_USR, если вы работаете в IIS, или ваша собственная учетная запись, если вы компилируете для файлового веб-сервера.

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

4
ответ дан 1 December 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: