【发布时间】:2012-03-08 00:59:40
【问题描述】:
在网络应用程序中,当本地文件上传到服务器时,我需要执行文件转换(例如从 jpeg 到 pdf)。
我决定将此任务委托给控制台应用程序,以便将其与一般 Web 应用程序分离。每次用户上传本地文档时都会运行控制台应用程序代码,并在成功的情况下返回转换文件的名称(作为输入的 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);
【问题讨论】:
标签: .net performance web-applications process console-application