2011-07-20 181 views
1

我想让asp.net在服务器上运行控制台应用程序。我可以得到它与以下运行:在asp.net服务器上运行命令行应用程序

System.Diagnostics.ProcessStartInfo info = 
new System.Diagnostics.ProcessStartInfo(filePath, ""); 
Process processChild = Process.Start(info); 
info.CreateNoWindow = false; 

我需要的是控制台应用程序窗口出现。目前它只是在后台运行。

任何想法?这甚至有可能吗?

+0

你想在哪里看到控制台窗口?在服务器上?请记住,您正在使用ASP.NET进行操作,并且一切都在服务器中发生,您可以从客户端计算机上看到任何内容。 – Kangkan

+0

是的,这是我想要的(服务器)。控制台应用程序将运行很长时间,我希望能够登录到服务器并检查其状态。我意识到我可以在asp中使用输出,但我宁愿只打开控制台窗口。 – Simon

+0

在Process.Start之前放置了CreateNoWindow = false,但仍未显示。 – Simon

回答

1

不错,您在将CreateNoWindow设置为false之前就开始了这个过程。这样做,而不是:

System.Diagnostics.ProcessStartInfo info = 
new System.Diagnostics.ProcessStartInfo(filePath, ""); 
info.CreateNoWindow = false; 
Process processChild = Process.Start(info); 
+0

..哦,是的。只是尝试了另一种方式,仍然没有打开。可以在任务管理器中看到它。 – Simon

+0

如果您在任务管理器中看到它,那么针对该过程显示的用户名是什么?可能你是以不同的用户身份登录并且没有获得该会话。 – Kangkan

+0

啊我明白了。用户是IIS应用程序。感谢您的帮助。 [本指南](http://weblogs.asp.net/hernandl/archive/2005/12/02/startprocessasuser.aspx)显示了如何指定用户,如果其他人需要知道。 – Simon

相关问题