我有一个托管在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服务器上它没有执行控制台应用弹出服务器端?
答案 0 :(得分:0)
您需要在IIS7下启用exe的处理程序。通过转到MMC下的Web站点并选择Handler Mappings来执行此操作。
答案 1 :(得分:0)
您可以通过告诉Process使用-i参数运行PsExec并让PsExec运行您实际尝试启动的.exe来实现此功能。 -i参数告诉PsExec在指定用户会话的桌面上以交互模式执行目标。