Как проверить файловый процесс в Visual Studio на языке C #? - PullRequest
0 голосов
/ 16 марта 2012

Я работаю над создателем PDF в Asp.net с помощью c #. В моем коде он создал файл pdf, и после этого я использую flush, закройте и утилизирую streamwriter, а в функции nest я открываю тот же файл в следующей функции, я открываю тот же файл, чтобы показать в браузере pdf viewer. мой метод создания PDF используется многопоточность и функция чтения PDF в нормальном режиме.

Мой вопрос заключается в том, как проверить, что этот файл PDF используется в другом процессе в коде c #? Потому что, если я создал очень маленький файл PDF, он будет работать нормально, но если я создаю файл PDF из 5-10 страниц, в этом случае он выдаст ошибку т.е. the process cannot access the file because it is being used by another process

Я хочу использовать проверку кода монитора процесса в этом файле и как явно убить этот процесс?

Ответы [ 2 ]

0 голосов
/ 16 марта 2012

Если вы запускаете процесс, который создает PDF, просто подождите его и проверьте код выхода, конечно, если процесс, который создает PDF, возвращает правильные коды выхода для успеха или какой-либо ошибки, вот пример кода:

Process proc = Process.Start("createpdf.exe", "params");
proc.WaitForExit();
int result = proc.ExitCode;
/// do something based on result
0 голосов
/ 16 марта 2012

Если нет смысла в первую очередь открывать Stream как FileShare.Read (поскольку ваш PDF создается, и он еще не доступен для просмотра), тогда вы можете просто try ... catch открыть поток.

По крайней мере, именно так эта популярная тема, кажется, делает это .

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