Прерывистая ошибка «Файл используется» - PullRequest
0 голосов
/ 18 марта 2011

У меня есть код, который я написал, чтобы в основном очищать каталог каждый раз, когда программа проходит через эту точку.Я не хотел беспокоить перечисление файлов.Если это плохой способ сделать это, пожалуйста, скажите мне.

Мой главный вопрос, однако, о том, как справиться со следующим: один из файлов в папке, кажется, используется, когда оннаверняка нет.Программа запускается по событию ButtonClick, и она взорвалась первые четыре или пять раз, но она сработала после того, как я подтвердил, что никто не использовал файл на сервере.Есть только один человек, кроме меня, который использовал бы его, и он подтвердил, что на его стороне не было ничего, что могло бы коснуться файла.Любые идеи о том, что может вызвать эту ошибку / как ее избежать / как ее устранить?

У меня также возникают проблемы с воспроизведением ошибки ...

string directory = @"\\server\directory\folder\";
    DirectoryInfo di = new DirectoryInfo(directory);

    if (di.Exists)
        di.Delete(true);

    Directory.CreateDirectory(directory);

Ответы [ 2 ]

1 голос
/ 18 марта 2011

Если вы используете Windows XP, это может помочь: http://msdn.microsoft.com/en-us/library/dd997370.aspx#remove_open_handles

Просто выдержка из верхней части этой страницы: «Если вы используете Windows XP или более раннюю версию, выполните операцию удаления файла иликаталог, следующий за перечислением, может завершиться ошибкой, если в одном из перечисленных каталогов или файлов останется открытый дескриптор. "

Вы также можете использовать программное обеспечение, такое как Unlocker , чтобы определить блокировку процессаваш файл.

1 голос
/ 18 марта 2011

Если файл используется, то кто-то наверняка его использует. :)

Если вы можете получить доступ к серверу, на котором находятся файлы, вы можете использовать такой инструмент, как Process Explorer , чтобы узнать, какой процесс открыл файл.

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