代码之家  ›  专栏  ›  技术社区  ›  JL. Hans Passant

如何从基于IIS的Web服务启动控制台应用程序,并在处理时使其可见?

  •  1
  • JL. Hans Passant  · 技术社区  · 14 年前

    我正在尝试从基于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);
    

    进程启动,但有错误。想让它在屏幕上可见吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Rudi    14 年前

    我认为.NET BCL中没有任何允许您这样做的内容,即使这是完全可能的。

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

    也许看看像这样的工具 psexec 可能会对如何使这项工作有所启发。

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

    推荐文章