2009-04-09 91 views
0

我有一段我正在開發的軟件產生遠程系統上的短命進程來運行一些代碼(主要是SerialPort IO),這些代碼可能會或可能不會與產卵應用程序交互(但應該假定它會),然後將根據命令終止。跨系統進程產卵和交互

什麼是產生像這樣的遠程過程的最佳方式(PSExec?WMI?System.Diagnostics.Process也許?)過程產生後,我該如何告訴它訂閱它的主機? SO社區會爲溝通過程的基本事件/消息框架推薦什麼? WCF是否適合這項任務? Remoting會更容易嗎?我在這裏有什麼選擇?

回答

1

我不認爲System.Diagnostics.Process允許啓動遠程系統上的進程。所以WMI或者像psexec這樣的shelling可能是你唯一的選擇。

關於訂閱/交互選項,是的,WCF是要走的路。避免遠程處理:它對一般情況沒有任何好處,不再被增強,並且由於各種原因而棄用WCF(基本上分佈式對象由於版本控制和狀態考慮而變成痛苦的東西;消息通常是更容易建立,理解和維護,如果我沒有記錯,遠程處理也沒有安全性)。爲了進行設置,當父進程產生遠程進程時,它可以傳遞一個URL作爲命令行參數。父母在該URL上承載WCF服務。現在,如果產生的進程需要返回/訂閱父進程,它只會連接到它提供的URL。如果父級需要發起通信,則使WCF服務成爲雙工,或者讓衍生進程託管自己的WCF服務,並通過父級的服務告訴父級URL。

+0

如果您不介意,我真的很樂意與您聯繫並進行更詳細的討論,您是否願意以電子郵件[email protected]給我發電子郵件?我會盡量不要花費太多的時間。 – Firoso 2009-04-09 19:52:34