1

我有一个托管在 IIS7 上的 ASP.net 网站,在 asp.net 代码中我有一个 C# 语句,通过单击按钮在我的网络服务器上启动一个 .exe。出于某种原因,在 Visual Studio 中它会在本地开发服务器上启动,但是当我将它移动到 IIS7 服务器时,它不会在单击按钮时弹出黑色控制台框。这就是我正在做的事情。

generateSpanish = "/n= " + serverName + "GenerateVoice SpanishVoice";

Process serverSideCommandSpanish = new Process();

serverSideCommandSpanish.StartInfo.FileName = Server.MapPath("Config\myexe.exe");
serverSideCommandSpanish.StartInfo.Arguments = generateSpanish;
serverSideCommandSpanish.EnableRaisingEvents = true;
serverSideCommandSpanish.StartInfo.UseShellExecute = true;

serverSideCommandSpanish.Start();

它再次在 Visual Studio 中启动(在“服务器”上弹出一个黑色控制台应用程序)但在我的 IIS 服务器上它不执行控制台应用程序弹出服务器端?

4

2 回答 2

0

您需要在 IIS7 下启用 exe 的处理程序。通过访问 MMC 下的网站并选择 Handler Mappings 来执行此操作。

于 2013-07-24T17:00:21.677 回答
0

您可以通过使用 -i 参数告诉您的进程运行PsExec并让 PsExec 运行您实际尝试启动的 .exe 来使其工作。-i 参数告诉 PsExec 在指定用户会话的桌面上以交互模式执行目标。

于 2013-07-24T18:38:34.417 回答