2011-07-08 46 views
2

我需要從我的asp.net網頁啓動簡單的控制檯應用程序,該應用程序使用給定的參數創建一個文件。這裏是我的代碼:從共享主機上的asp.net頁面啓動控制檯應用程序

string filePath = Server.MapPath(@"~/Patcher/TestPatcher.exe"); 

System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo(filePath , "-sn:123456789123456 -upd -fn:test.hd"); 
info.UseShellExecute = false; 
info.RedirectStandardOutput = true; 
System.Diagnostics.Process p = System.Diagnostics.Process.Start(info); 

p.WaitForExit(25000); 
// Display the output 
string str = p.StandardOutput.ReadToEnd(); 

問題是程序不創建任何文件,但它確實啓動 - 我在「str」中得到了一些輸出。有什麼建議麼?順便說一下,該網站必須在共享主機上工作。

回答

-2

是的。我認爲你的安全問題在那裏......你不能只從沙盒環境(瀏覽器)運行一個exe文件。

除了你提供的代碼片段,它試圖在web服務器上運行代碼,而不是從asp.net頁面運行代碼。

+0

對不起,但我剛纔發現我的「修補程序」應用程序將輸出文件保存在Windows目錄中。任何機會,我可以指定「工作」目錄爲我的過程? – JohnSmt

+0

如果它接受一個目錄作爲參數,你會使用info.Arguments –

相關問題