Я хочу выполнить процесс из 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
Пожалуйста посоветуйте. Спасибо. Рухул
Спасибо VMAtm. _runMode инициализируется одним значением по умолчанию. Так что это не должно быть проблемой. Любая другая идея? Спасибо. –
Посмотрите на свой код - в вашем результате нет значения по умолчанию. Проверь это. – VMAtm
Извините, что объявлено как член класса со значением по умолчанию, ваш комментарий действителен, но это не должно быть проблемой. Большое спасибо. –