Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как узнать, какие процессы используют файл в ASP.NET?

Автор вопроса: Moayad MardiniОтветов: 2

Я разрабатываю многопоточное приложение ASP.NET 3.5, во время работы с каким-то файлом получаю следующее исключение:

Процесс не может получить доступ к файлу, так как он используется другим процессом

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

exceptionfilemultithreading

Ответы

Ответ 1 · RB.

Чтобы фактически заблокировать доступ к ресурсу (второй вариант, который вы предлагаете), вы можете использовать Mutex (взаимное исключение).

Я ничего этого не делал в .NET, но, похоже, есть хорошие статьи об этом.

Ответ 2 · рейтинг 1 · RB.

Process Explorer позволит вам сделать это. Просто нажмите "Найти" -> "Найти дескриптор или DLL", затем введите имя вашего файла.

Затем он покажет вам каждый процесс с дескриптором этого файла.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы