2017-01-19 20 views
0

Я хочу выполнить процесс из ASP.Net Webservice (.asmx). В гостевом каталоге Webservice у меня есть исполняемое приложение в папке «importerapp» каталога webservice. Мое исполняемое приложение (названо как Import.exe) работает хорошо, дважды щелкнув.Исполняемое приложение (.exe) не работает через ASP.Net Webservice (.asmx)

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> 

Это означает, что переменная «ошибка» и «выход» равна нулю, а код выхода - 0, что означает успех.

Но обработка ничего не делает, даже не создавая файл журнала (я использую библиотеку nLog).

Окружающая среда: Windows7, IIS 7.5, .Net4.0, C#, ASP.Net

Пожалуйста посоветуйте. Спасибо. Рухул

ответ

0
Job Submitted OK with params: Exit Code:0 

Это, в соответствии с вашим кодом, означает, что _runMode переменная не инициируется. Я думаю, вы забыли передать параметр mode в ваш процесс

+0

Спасибо VMAtm. _runMode инициализируется одним значением по умолчанию. Так что это не должно быть проблемой. Любая другая идея? Спасибо. –

+0

Посмотрите на свой код - в вашем результате нет значения по умолчанию. Проверь это. – VMAtm

+0

Извините, что объявлено как член класса со значением по умолчанию, ваш комментарий действителен, но это не должно быть проблемой. Большое спасибо. –