【发布时间】:2016-08-01 03:48:03
【问题描述】:
我有一个 exe 文件(控制台应用程序)。在我的 ASP.Net 中,我有一个带有按钮的页面。在按钮上单击。我想启动控制台应用程序。
这是我的代码:
ProcessStartInfo startinfo = new ProcessStartInfo();
startinfo.FileName = @"C:\PushNotificationSampleConsoleVersion\PushNotificationSampleConsoleVersion\bin\Release\PushNotificationSampleConsoleVersion.exe";
startinfo.CreateNoWindow = true;
startinfo.UseShellExecute = true;
Process myProcess = Process.Start(startinfo);
myProcess.Start();
当我单击按钮时。没啥事儿。我没有看到命令提示符窗口。但是,当我检查我的任务管理器时。我看到这个过程开始了。
我的代码有问题吗?
谢谢。
【问题讨论】:
-
我建议你同时删除
startinfo.CreateNoWindow = true;和startInfo.UseShellExecute = true;虽然希望 Web 应用程序能够在服务器上启动控制台窗口似乎有点奇怪... -
我做到了。它仍然没有显示窗口
-
啊,明白了——大概是因为您在 IIS 下运行,我不希望它能够与桌面交互。您也许可以通过服务权限来解决这个问题,但同样 - 您确定要让任何点击网站的人都能够在服务器桌面上创建控制台窗口吗?
-
控制台窗口不应出现在用户浏览站点的本地计算机中。但是,exe 文件将位于服务器中。这可能吗?
-
不,不是。当然,不是作为常规控制台窗口。 (如果我从移动设备或其他没有“控制台窗口”概念的设备浏览,您会期望发生什么?)创建一种“虚拟”是可行的(但需要做很多工作)控制台窗口”,并通过它与您的 ASP.NET 应用程序通信,然后该应用程序将与进程通信。但这可能是一项巨大的工作——在这样做之前,我会仔细考虑你想要实现的目标。