1

我正在尝试从基于 IIS 的 Web 服务启动控制台应用程序,但它在服务器上不可见。

到目前为止的代码是:

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);

该过程触发,但有错误。想让它在屏幕上可见,这可能吗?

4

1 回答 1

2

我认为.Net BCL 中没有任何东西可以让你这样做,即使它完全有可能。

您需要在当前的“交互式”用户会话中启动应用程序。从 web 服务启动应用程序时,它在 IIS 的会话中运行(作为服务)。

也许看看psexec 之类的工具可能会对如何使其正常工作有所了解。

或者,将错误记录到文件和/或尝试将调试器连接到 iis 进程 (w3wp.exe)

于 2010-11-16T12:35:17.303 回答