如何在ASP.NET下運行服務器端的腳本

 
    最近有個需求,需要在一個服務器上按需運行某些執行程序。考慮到儘量減少客戶端的操作(安裝等),我們決定開發B/S模式的系統。
    雖然我曾經開發用JSP+tomcat開發過類似的程序,也知道用XMLRPC之類的技術也可以,但本這最簡化原則(因爲服務器上的操作系統是WINDOWS 2003 SERVER,運行JAVA還要裝JRE和WEB容器),我同意使用ASP開發。(咳,IT程序員就是“挨踢的藍領”。呵呵,純屬玩笑,我最經程序員,我崇尚技術!)。
    以前用ASP3.0開發過小東東,這次想省事。本來用ASP3.0開發個服務器端運行SHELL的代碼很簡單,兩三行,用WScript.shell就好, 但是了好就總是提示沒有權限。對虛擬目錄的權限進行了設置,還是不行。應該是IIS的設置問題,本人技術不行呀!那位高手如果解決了這個問題,煩請給我一個詳細的解釋(圖文並茂最好,如果願意。我的郵件[email protected],謝謝先!)。
    在ASP3.0下經過了幾次失敗,最後決定用ASP.NET。呵呵,MICROSOFT Teched 2007洗腦起了作用。嘗試了幾下,解決了問題。下面把一些體會寫了出來。
    實現該功能主要用到System.Diagnostics.Process,感興趣的朋友可以去MSDN查看更多的資料。
       具體代碼如下:
       Public void RunCmd() {
       string exec = “notepad.exe”
       System.Diagnostics.ProcessStartInof psi = new System.Diagnostics.ProcessStartInfo(exec);
       psi.UseShellExecute = false;
       psi.RedirectStandardOutput = true;
       psi.RedirectStandardInput =true;
       psi.RedirectStandardError = true;
 
       //啓動process
       System.Diagnostics.Process proc = System.Diagnostics.Process.Start(psi);
}
這段代碼是用C#寫的。我做過測試,沒問題,大家可以試試。
Codeproject中也有人寫了一個可以運行BAT文件的程序,大家可以去看看。還有一個鏈接http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx,可供參考!
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章