В веб-приложении мне нужно выполнить преобразование файлов (например, из JPEG в PDF), когда локальный файл загружен на сервер.Я решил делегировать эту задачу консольному приложению, чтобы отделить его от общего веб-приложения.Код консольного приложения запускается каждый раз, когда пользователь загружает локальный документ и в случае успеха возвращает имя преобразованного файла (test.jpg в качестве ввода будет возвращен как test.pdf).
Так как мне нужнознать, был ли файл правильно преобразован, прежде чем продолжить, теряю ли я преимущества делегирования задачи внешнему процессу (так как код консольного приложения будет выполняться в отдельном процессе, верно)?
Поскольку загруженный файл преобразуется только в pdf или .doc, я могу соответствующим образом изменить строку, представляющую имя файла, а затем в конце концов проверить, существует ли этот файл, когда это необходимо, в следующих шагах, но я хочу прервать все операции, еслипреобразование завершается неудачно, вместо того, чтобы производить какой-либо средний результат, который следует отбросить.
Вот код, который я разработал для вызова консольного приложения:
HttpPostedFile file = HttpContext.Current.Request.Files[0];
FileInfo fileInfo = new FileInfo(file.FileName);
string extension = fileInfo.Extension;
ConvertCommand conv = new ConvertCommand();
string convertedFile = conv.Run(file.InputStream, extension, targetFilePath);