可执行应用程序(.exe)未通过ASP.Net Webservice(.asmx)运行

时间:2017-01-19 09:09:38

标签: .net-4.0 iis-7.5 asmx windows-7-x64

我想从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

1 个答案:

答案 0 :(得分:0)

Job Submitted OK with params: Exit Code:0

根据您的代码,这意味着_runMode变量未启动。我想您忘记将参数mode传递给您的流程