Как запустить консольное приложение из веб-службы на основе IIS и сделать его видимым при обработке? - PullRequest
1 голос
/ 16 ноября 2010

Я пытаюсь запустить консольное приложение из веб-службы на основе IIS, но оно не отображается на сервере.

Код до сих пор:

string downloaderPath = ConfigurationManager.AppSettings["DownloaderExePath"];
System.Diagnostics.ProcessStartInfo si = new System.Diagnostics.ProcessStartInfo();
si.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
si.FileName = downloaderPath;
si.UseShellExecute = true; //false doesn't make a difference
System.Diagnostics.Process.Start(si);

Процесс запускается, но с ошибками. Хотелось бы, чтобы это было видно на экране, это возможно?

1 Ответ

2 голосов
/ 16 ноября 2010

Я не думаю, что в .Net BCL есть что-то, что позволило бы вам сделать это, даже если это вообще возможно.

Вам потребуется запустить приложение в текущем «интерактивном» сеансе пользователя. При запуске приложения из веб-службы оно запускается в сеансе IIS (в качестве службы).

Возможно, просмотр таких инструментов, как psexec , может пролить свет на то, как это работает.

Либо зарегистрируйте ошибки в файле и / или попытайтесь подключить отладчик к iis процесс (w3wp.exe)

...