如何从webform打开控制台应用程序

时间:2010-04-14 09:25:41

标签: asp.net console-application webforms

我有一组在单个服务器上运行的网站。服务器还运行一个控制台应用程序,用于收集数据并将这些数据分发到网站。

我并不总是要检查应用程序是否正在运行,并且我想给最终用户(少数几个用户!)选项,以便使用webform在服务器上启动/重新启动此应用程序。 (单击按钮,应用程序启动)。

我已经使用以下代码启动了控制台应用程序:

        ProcessStartInfo info = new ProcessStartInfo(FileName);
        Process App1 = null;
        App1 = Process.Start(info);

但是没有出现控制台窗口,我希望控制台打开一个窗口,这样如果我登录到服务器,我就可以检查应用程序是否正在运行。

我尝试过添加:

info.CreateNoWindow = false;

以及其他一些事情,但这不是我的领域所以我正在努力。

我有什么想法可以让控制台在普通窗口中打开?或者我是否会以错误的方式解决这个问题?

此外,是否有一种方法可以查找应用程序是否正在运行,并在尝试启动它之前将其终止,只是重新启动它,或者不允许最终用户选择执行任何操作。

非常感谢 Ť

2 个答案:

答案 0 :(得分:0)

正如Aristos所说,控制台应用程序将在服务器上打开...而不是客户端。

查看here,了解如何从asp打开进程以及安全隐患

如果您需要客户端能够查看任何我建议让服务写入数据库中的日志并让aspx页面读取此日志。

另外,也许可以将您的控制台应用程序编写为Windows服务,而不仅仅是应用程序?

好例子here

希望这有帮助。

答案 1 :(得分:0)

ProcessStartInfo info = new ProcessStartInfo(FileName);
Process App1 = null;
info.CreateNoWindow = true;
info.UseShellExecute = false;
info.RedirectStandardOutput = true;
App1 = Process.Start(info);

尝试使用info.usershellexecute属性

相关问题