У меня есть служба отдыха WCF, и внутри я выполняю процесс:
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C " + Properties.Resources.NAME_APP_IAL + " " + ...);
startInfo.WorkingDirectory = HttpContext.Current.Server.MapPath(@"" + ...);
startInfo.CreateNoWindow = false;
startInfo.UseShellExecute = false;
Process oProcess = null;
try
{
oProcess = Process.Start(startInfo);
bool bStep = true;
while (bStep)
{
Process[] oPro = Process.GetProcessesByName(Properties.Resources.NAME_APP_IAL);
if (oPro == null || oPro.Count() == 0 ) bStep = false;
}
}
catch (Win32Exception ex)
{
throw ..
}
Процесс работает хорошо,
, но после его завершения я получаю файл как результат,
моя проблема в том, что процесс быстро завершается, и я получаю пустой файл! Так как я могу это исправить: чтобы быть уверенным, что процесс завершен или завершен вначале? Также с этим проверьте, если у меня есть исключение или процесс заблокирован или что-то еще, как я могу его распознать?
Спасибо за вашу помощь и за ваши предложения и советы,