Этот следующий код довольно прост и работает в консольном приложении. Но по какой-то причине это не работает в службе WCF. Каталог, в котором находится командный файл, имеет полные разрешения. Кто-нибудь может мне помочь? Чего мне не хватает?
try
{
ProcessStartInfo psi = new ProcessStartInfo();
//specify the name and the arguements you want to pass
psi.FileName = ConfigurationManager.AppSettings["BatchFileLocation"];
psi.Arguments = filePath;
//Create new process and set the starting information
Process p = new Process();
p.StartInfo = psi;
//Set this so that you can tell when the process has completed
p.EnableRaisingEvents = true;
p.Start();
//wait until the process has completed
while (!p.HasExited)
{
System.Threading.Thread.Sleep(1000);
}
//check to see what the exit code was
if (p.ExitCode != 0)
{
logger.Write(p.ExitCode);
}
}
catch (Exception ex)
{
logger.Write(ex.Message);
}