2011-04-08 142 views
5

我想知道是否可以通过mvc web应用程序在服务器上运行命令行功能。服务器端命令行

澄清自己:
用户通过mvc web应用程序将一些文件上传到服务器。然后他/她按下按钮 ,服务器运行命令行应用程序。

这可能吗?

预先感谢您

注:该服务器是Windows 2008的

回答

8

是。假设您有一个不需要用户交互的命令行应用程序(即您拥有控制台应用程序),则可以在控制器方法中尝试以下操作。

Process serverSideProcess = new Process(); 
serverSideProcess.StartInfo.FileName = @"C:\pathToTheExe"; 
serverSideProcess.StartInfo.Arguments = "arg1 arg2 arg3"; 
serverSideProcess.EnableRaisingEvents = true; 
serverSideProcess.StartInfo.UseShellExecute = true; 
serverSideProcess.Start(); 

有一点需要注意将执行此过程的用户帐户的标识。默认情况下,这应该使用AppPool的凭证执行服务器端。如果您需要访问网络资源,这可能是一个问题。简单地解决这个问题的一种方法是让AppPool在已被授权访问这些资源的用户帐户下运行。

+0

感谢您的可能的答案 – Cobalt 2011-04-29 10:35:58

+0

我有完全一样的要求。谢谢。 – 2013-07-23 03:05:05