2008-10-09 5 views
1

Я получаю прерывистый Ложноотрицательный на следующей строке кода в ASP.NET 2 web site:System.IO.Directory.Exists дает прерывистый ложноотрицательный

if (!System.IO.Directory.Exists(folder)) 

Папка явно существует, и даже содержит файл журнала, который записывается, когда среда CLR не относится к существованию папки. Любая помощь будет оценена по достоинству.

ответ

5

Exists() возвращает false, а не бросает ошибку, если возникает какая-либо ошибка ввода-вывода. Одной вещью, на которую следует обратить внимание, являются ошибки безопасности. Exists не выполняет сетевую аутентификацию, поэтому требуется, чтобы она была предварительно аутентифицирована, если ваш доступ к сети делится, по крайней мере, согласно документам. Я сам не пробовал.

+0

Достаточно смешно, что папка была общей, хотя я не установил ее совместное использование. Возможно, добавление пользователя IIS подразумевает, что он должен быть общим, и он просто сделал это? Когда я пытаюсь прекратить совместное использование, диалог прогресса просто зависает. – ProfK 2008-10-09 19:25:26

3

Можно ли сделать рабочий процесс asp.net proc mon и проверить, действительно ли он проверяет наличие этой конкретной папки? Проверьте также коды результатов, чтобы устранить любые ошибки, связанные с доступом.

+0

Моя проблема заключается в том, что я не могу достоверно воспроизвести ошибку. Иногда это происходит. – ProfK 2008-10-09 19:23:32

0

Каково значение времени отладки переменной «папка»? Является ли это папкой, которая существует за пределами каталога веб-сайта?

+0

Он существует как дочерний элемент каталога веб-сайта. – ProfK 2008-10-09 19:22:48

Смежные вопросы