Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 启动并调试执行SoapUI testrunner.bat批处理文件的服务_C#_Windows Services_Batch File_Soapui - Fatal编程技术网

C# 启动并调试执行SoapUI testrunner.bat批处理文件的服务

C# 启动并调试执行SoapUI testrunner.bat批处理文件的服务,c#,windows-services,batch-file,soapui,C#,Windows Services,Batch File,Soapui,我的问题是多层次的。我想编写一个windows服务,用自定义参数执行SoapUI testrunner.bat批处理文件 该服务安装良好,但除非以发布模式构建,否则无法启动。如果我在调试模式下构建它,安装并尝试启动它,它将无法启动 我无法调试,因为“附加到进程”按钮已灰显 现在,最大的问题是,当服务启动时,它似乎什么都没有做。没有生成任何日志文件 这是我的密码: System.Diagnostics.Process proc = new System.Diagnostics.Process();

我的问题是多层次的。我想编写一个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();
我做错了什么


另外,我正在运行Windows 7。

回答我自己的问题,没有任何效果的原因之一是我错误配置了服务安装程序

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手动安装了它来回答我自己的问题,但没有任何效果的原因之一是我错误配置了服务安装程序

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手动安装的,但这不是批处理脚本。这是powershell吗?这不是批处理脚本。这是地狱吗?