2011-04-08 139 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