2014-01-15 62 views
2

我有一個簡單的asp.net頁面,知道如何調用某些命令。Process.Start從用戶機器

例如,我打電話用的mstsc.exe具體參數:

Process.Start("mstsc.exe", "/v:" + serverToConnect); 

當我在我的本地機器上使用此代碼,它工作正常。

當我將此代碼上傳到不同服務器上的asp.net頁面,並嘗試點擊按鈕上的 調用此命令時,什麼也沒有發生。

我想我需要以某種方式告訴頁面從單擊此按鈕的用戶的機器調用此命令。

你知道這樣做的最好方法是什麼嗎?

謝謝。

+0

這不是Web應用程序的好用例。我想你試圖實現可以使用添加到瀏覽器的ActiveX控件來完成(不知道是否即使安全性將允許RDP),但所有帳戶,它是不適合的 – NoviceProgrammer

回答

1

從網頁運行此代碼將導致進程在服務器上執行。無法在本地機器上從asp.net頁面運行此代碼。

asp頁面中的所有.NET代碼都在服務器上運行。

3

不可能。

如果有任何網站可以在任何用戶的計算機上隨意執行應用程序,請停止一秒鐘,然後想象一下浩劫釋放到互聯網上。

它可以在本地機器上,因爲單獨的巧合,當你測試它你的機器既服務器客戶端。行爲仍然相同,應用程序在服務器上運行。當您將其發佈到其他服務器時,該行爲將繼續...應用程序在服務器上運行。

無論你試圖完成什麼,這都不是一個可行的方法。聽起來你想在用戶的計算機上安裝客戶端應用程序,這與ASP.NET Web應用程序完全不同。

+0

是啊謝謝..我猜這是問題。 是不是通過用戶名和密碼或其他安全方式來做到這一點? – FelProNet

+0

@DevTraveler:僅當該機器暴露連接時,默認情況下通常不會發生。它仍然需要你在用戶的計算機上本地運行代碼,這使我們回到了讓用戶安裝某些東西的方式。 – David