К сожалению, ответ Райкамала больше не является правильным.
Начиная с этой версии, только эти 6 значений считаются ложными:
false
null
undefined
NaN
0
""
Значения 'f'
, '0'
, 'false'
, 'no'
, 'n'
и []
(!) Стали правдой.
Таким образом, использование
больше не может быть рекомендовано, если div должен быть видимым, только если items
содержит хотя бы 1 элемент, потому что даже с items = []
он будет отображаться.
Это часто случается во время разработки, когда вы постоянно изменяете страницы 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 \, отличную от папки по умолчанию.
И, наконец, используйте проект развертывания чтобы попытаться предварительно скомпилировать все заранее. Отсутствие компиляции означает отсутствие попыток заменить что-либо во временной папке
Или вы можете попробовать диагностику ОС и попытаться выяснить, какой процесс заблокировал этот файл, и убить этот процесс. стоит затраченных усилий, когда существуют более простые решения.
Убедитесь, что у вас нет такого процесса, как "Windows Desktop Search", индексирующего эту папку.
Похоже, у вас есть что-то, что удерживает открытый дескриптор этого файла; вы можете отследить его с помощью Filemon или другого подобного инструмента, чтобы узнать, какой процесс удерживает открытый дескриптор.
У меня были подобные проблемы в прошлом из-за того, что антивирусная программа рабочей станции обращалась к файлу в "неправильное" время. Еще один инструмент, который вы можете использовать для определения того, где открыт файл: Process Explorer (рекомендуется для вашего личного арсенала, даже если он здесь бесполезен, честно говоря).
ЕСЛИ это - это блокировка, вызванная каким-либо внешним процессом, например антивирусным сканером или поисковым индексатором, то вы можете попробовать использовать разрешения Windows для блокировки прав других пользователей. и процессы для чтения файлов. По умолчанию каталог Temporary ASP.NET Files
доступен пользователям, администраторам, IIS_USR, SYSTEM и TrustedInstaller, то есть почти всем.
Воспользуйтесь советом Мэтью Мартина о другой папке компиляции;
<compilation tempDirectory = “C:\LimitedPermissionCompilationDir\” />
А затем ограничьте папку LimitedPermissionCompilationDir
только пользователями и группами, которым требуется разрешение - скажем, IIS_USR, если вы работаете в IIS, или ваша собственная учетная запись, если вы компилируете для файлового веб-сервера.
В любом случае, это относительно безопасный способ попробовать что-то, поскольку вы этого не делаете. не нужно беспокоиться о том, чтобы повлиять на что-либо, кроме сайта, который вы используете.