Запуск и отладка службы, которая выполняет командный файл SoapUI testrunner.bat - PullRequest
1 голос
/ 31 января 2012

Моя проблема многослойная.Я хотел написать службу Windows, которая выполняет пакетный файл SoapUI testrunner.bat с пользовательскими параметрами.

Служба устанавливается нормально, однако ее нельзя запустить, если она не была собрана в режиме выпуска.Если я собрал его в режиме отладки, установил и попытался запустить его, он не запустился.

Я не могу отладить, потому что кнопка «Присоединить к процессу» недоступна.

СейчасСамая большая проблема заключается в том, что когда служба запускается, она вообще ничего не делает.Файлы журнала не создаются.

Вот мой код:

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "D:\\testrunner.bat";
proc.StartInfo.Arguments = "-sServiceTest1 -cLoadBalancingTest -r -fd:\\temp -R\"TestCase Report\" -FPDF D:\\TestProj.xml";
proc.StartInfo.UseShellExecute = true;

proc.Start();

Что я делаю не так?

PS У меня Windows 7.

1 Ответ

1 голос
/ 07 февраля 2012

Чтобы ответить на мой собственный вопрос, одна из причин, по которой ничего не работает, заключается в том, что я неправильно настроил установщик службы.

using (System.Diagnostics.Process proc = new System.Diagnostics.Process())
{
    proc.StartInfo.FileName = "testrunner.bat";
    proc.StartInfo.Arguments = "blah blah blah";
    proc.StartInfo.RedirectStandardError = true;
    proc.StartInfo.RedirectStandardOutput = true;
    proc.StartInfo.UseShellExecute = false;
    proc.Start();
    outputMessage = proc.StandardOutput.ReadToEnd();

    logFile = File.AppendText("D:\\temp\\SoapUITest.log");
    logFile.AutoFlush = true;
    logFile.Write(outputMessage);
    logFile.Close();
}

Приведенный выше код работает нормально, хотя я установил его вручную, используя installutil

...