2011-04-25 115 views
3

我在一臺專用機器上每天24小時運行一個VB.NET應用程序。我希望能夠接收狀態更新並遠程控制/調試應用程序(即通過互聯網從另一臺計算機)。什麼是遠程控制/調試.NET應用程序的最佳方法?

這將是一個優勢,如果通信是輕量級(在發送的字節條款和接受),所以我可以控制的事情,而不需要一個快速的互聯網連接。另外,我現在正在IDE中運行應用程序,因爲有一些未處理的異常,並且這樣更容易調試。如果我不必編譯它並捕獲所有錯誤,那將會很好。

什麼是設置這樣的事情了最簡單的方式,什麼我需要知道在安全方面?

任何想法或指向進一步閱讀將不勝感激。

更新

爲了澄清,我需要爲應用程序提供什麼樣的輸入 - 在理論上,沒有。如果一切都按計劃進行,我只需將應用程序關閉並閱讀某種日誌即可。問題在於它不穩定(主要是因爲它調用了一個非常不穩定的Web服務並返回各種奇怪的東西),因此似乎需要我持續輸入。

這是我的想法,我可以做這種遠程調試的唯一途徑是通過捕獲每個錯誤我所能,閱讀日誌,並以某種方式指示將在未來適當的行爲的應用程序。當應用程序

正在運行通過IDE應用程序獲取調試的事實表明,你沒有得到足夠的調試信息:

+0

兩臺機器可以通過VPN連接嗎?如果它們是安全的,它會使事情變得更簡單... – 2011-04-25 12:24:18

+0

我看不出爲什麼,但我不知道如何設置它。 – Flash 2011-04-25 12:30:58

回答

2

有很多開放端的位置,但這裏是我的想法死亡。在嘗試通過在適當的地方使用try/catch -ing以及在EventLog使用日誌relevant info解決此問題之前,請考慮解決此問題。然後可以從remote machine讀取日誌。

用於監視和遠程控制,實在是很難說什麼是沒有關於您的應用程序的更多信息,最簡單的解決方案。需要通過接口完成什麼,你有什麼訪問限制,......?

基於有限的信息,我建議寫一個小的Web應用程序來控制你的應用程序 - 無論是內嵌在應用程序或小服務通過其他方式控制它。這樣您就可以從Web技術和安全設置衆所周知的事實中受益。

編輯: 根據您的更新判斷,您似乎正在尋找remote debugger

+0

謝謝,這很有幫助。關於通過界面需要做什麼,我已經更新了這個問題。 – Flash 2011-04-25 12:51:47

+0

遠程調試看起來像我之後的事情。有沒有一種方法可以在程序運行的整個過程中不需要連接?也就是說,我可以連接,接收狀態更新,處理異常(如果有),然後重新設置它? – Flash 2011-04-25 13:57:19

1

嗯......我不認爲你需要開發一個解決方案......這聽起來像一個運行在服務器上的winapp。

您是否考慮在目標機器上安裝teamviewer,還是僅僅使用Windows RDC?

+0

我以前沒有使用過這些服務,但是由於需要帶寬,我認爲這種事情不適合。如果可能,我希望能夠通過(壞)撥號連接訪問它。如果這工作,它將是理想的,但。 – Flash 2011-04-25 12:54:14

1

如果您使用的是像log4net的日誌框架或NLOG你(你應該,如果你做的記錄),你可以很容易地使用遠程附加器。例如,log4net提供了一個遠程appender,它通過tcp發送日誌條目到遠程服務器,在遠程服務器上你可以編寫一個小看門狗類型的應用程序來監視你的系統。

如果您需要更簡單的解決方案,您可以使用電子郵件appender將所有錯誤郵寄給您。

+0

謝謝,這看起來很有用。 – Flash 2011-04-25 13:58:35

相關問題