Я новичок в модели потоков в .net. Что бы вы использовали для:
- запустите процесс, обрабатывающий файл (process.StartInfo.FileName = имя_файла;)
- дождитесь, когда пользователь закроет процесс ИЛИ отменит поток через некоторое время
- если пользователь закрыл процесс, удалите файл
Запуск процесса и ожидание должны выполняться в другом потоке, кроме основного потока, потому что эта операция не должна влиять на приложение.
Пример:
Мое приложение создает html-отчет. Пользователь может щелкнуть правой кнопкой мыши и сказать "Просмотреть отчет" - теперь я извлекаю содержимое отчета во временный файл и запускаю процесс, который обрабатывает html файлы, то есть браузер по умолчанию. Проблема в том, что я не могу очистить, т.е. Удалить временный файл.