使用网页在Localhost上运行exe

时间:2018-06-19 16:11:14

标签: c# asp.net iis localhost

我正在尝试使用iis localhost上的网页来运行可执行文件,但是它拒绝工作。如果我使用Visual Studio运行网页,则效果很好。我尝试更改可执行文件所在的文件夹的权限,以授予对DefaultAppPool的完全访问权限。我尝试更改DefaultAppPool中的设置以启用32位应用程序,并且还将标识更改为LocalSystem。我已允许IIS Admin Service与桌面进行交互。这些都不起作用。

这就是我要的代码。任何帮助将不胜感激。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    int port = Convert.ToInt32(GridView1.SelectedRow.Cells[2].Text);
    string ipaddress = GridView1.SelectedRow.Cells[3].Text;
    string event_type = GridView1.SelectedRow.Cells[6].Text;

    try
    {
        System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
        startInfo.UseShellExecute = true;
        startInfo.WorkingDirectory = @"C:\inetpub\wwwroot";
        startInfo.FileName = Path.Combine(@"C:\inetpub\wwwroot", "ConsoleAppField.exe");
        startInfo.Verb = "runas";
        //MLHIDE
        startInfo.Arguments = ipaddress + " " + port + " " + event_type;
        startInfo.ErrorDialog = true;

        Process process = Process.Start(startInfo);
        process.WaitForExit();
        //return process.ExitCode;
    }
    catch (Win32Exception ex)
    {

    }
    catch (Exception ex)
    {
        //WriteLog(ex);
        //return ErrorReturnInteger;
    }
}

1 个答案:

答案 0 :(得分:0)

您可以通过使用Process.Start()并像这样传递参数来实现此目的,

Process.Start("C:\inetpub\wwwroot\ConsoleAppField.exe", ipaddress + " " + port + " " + event_type);