process.WaitForExit()在将latex转换为pdf时停留了一些时间

时间:2018-03-19 07:02:42

标签: c# batch-file process

我无法理解要解决的问题并找出问题所在。请你帮帮我

我已经在日志的帮助下检查了这个问题,但是我无法理解如何解决这个问题以及这种情况如何发生。

fileName = invoiceNumber.Replace(" ", "");
  string attachmentName = invoiceNumber + ".pdf";
  string latexFilePath = Helper.InvoiceOfflineFolder + fileName + ".latex";
  string pdfFilePath = Helper.InvoiceOfflineFolder + fileName + ".pdf";
  string temp = Helper.InvoiceOfflineFolder + "sample" + ".latex";

  if (!File.Exists(latexFilePath))
  {
    File.WriteAllText(latexFilePath, latexTemplateBody);
  }

  using (Process process = new Process())
  {
    _log.LogSimple(LoggingLevel.Debug, "In Process");
    ProcessStartInfo startInfo = new ProcessStartInfo()
    {
      WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
      FileName = Helper.LatexBatchFile,
      UseShellExecute = false,
      //Verb ="runas",
      Arguments = fileName + ".latex" + " " + fileName + ".pdf"
    };
    _log.LogSimple(LoggingLevel.Debug, "In Process StartInfo" + startInfo.Arguments);
    process.StartInfo = startInfo;
    _log.LogSimple(LoggingLevel.Debug, "In Process Start" + startInfo.FileName);
    process.Start();
    _log.LogSimple(LoggingLevel.Debug, "In Process WaitForExit");
    process.WaitForExit(); // PROCESS STUCK HERE SOME TIMES 
    _log.LogSimple(LoggingLevel.Debug, "Out Process WaitForExit");
  }

  _log.LogSimple(LoggingLevel.Debug, "Pdf file path  " + pdfFilePath);

任何帮助将不胜感激。

0 个答案:

没有答案