我想从ASP.Net Webservice(.asmx)执行一个进程。 在Webservice托管目录中,我在" importerapp"中有一个可执行应用程序。 webservice目录的文件夹。我的可执行应用程序(命名为Import.exe)通过双击实现良好。
My webservice is running with no error but the process is not executed.
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public string executeProcess(RunMode mode )
{
Process process = new Process();
process.StartInfo.FileName = Server.MapPath("importerapp/Import.exe");
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.Arguments = "mode=" + (int)_runMode ;
process.Start();
process.WaitForExit();
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
return("Job Submitted OK with params: "+_runMode + error
+ output +"Exit Code:"+ process.ExitCode );
}
在浏览器中,输出如下。
<string xmlns="http://tempuri.org/">Job Submitted OK with
params: Exit Code:0</string>
这意味着,&#34;错误&#34;和&#34;输出&#34;变量为null,退出代码为0,表示成功。
但是处理没有做任何事情,甚至没有创建logfile(我正在使用nLog库)。
环境:WIndows7,IIS 7.5,.Net4.0,C#,ASP.Net
请指教。 谢谢。 Ruhul
答案 0 :(得分:0)
Job Submitted OK with params: Exit Code:0
根据您的代码,这意味着_runMode
变量未启动。我想您忘记将参数mode
传递给您的流程