从ASP.NET C#启动一个程序

rle*_*mon 10 c# asp.net process

我有一个程序(我创建),我想在网页加载时在服务器上启动它.

这是我的代码

public partial class _Default : System.Web.UI.Page
{
    Process app = new Process();
    protected void Page_Load(object sender, EventArgs e)
    {
        app.StartInfo.FileName = @"D:/Path to /My/Program to be run.exe";
        app.Start();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在应用程序"运行"但它立即崩溃.如果我只是运行应用程序(通过双击exe)它运行,一切都很好.

有谁看到我在这里遗失了什么?

Smu*_*mur 10

您可以使用ProcessStartInfo.

ProcessStartInfo psi = new ProcessStartInfo();
psi.FileName = @"D:/Path to /My/Program to be run.exe";
psi.WorkingDirectory = IO.Path.GetDirectoryName(psi.FileName);
Diagnostics.Process.Start(psi);
Run Code Online (Sandbox Code Playgroud)

  • 成功了!这有效.但是为什么必须以这种方式调用它?真正的区别是什么(我正在学习一些东西而不仅仅是复制粘贴你的答案) (2认同)