2012-08-17 69 views
0

我正在編寫一個基於服務的應用程序,並在其中的UI應用程序。 我正在使用事件日誌記錄我的錯誤,但其中一些錯誤非常重要,用戶應該注意。多項目應用程序,提供應用程序之間的發送信息

我需要做的是檢查UI應用程序(Windows應用程序項目)是可用的,並且運行...如果它的運行,直接通過基於服務的應用程序(Windows服務項目)發送錯誤的UI。

現在,該怎麼辦?我應該採取兩個步驟,首先檢查用戶界面是否正在運行,然後向用戶界面發送信息,如類實例或字符串或二進制數據(如使用序列化),用戶界面接收它。

回答

1

我覺得你的兩個應用程序可以使用Socket機構相互作用。

並檢查此爲「正在運行」位: Checking if my Windows application is running

+0

我第一次雖然有關套接字,但它首先需要一個端口,我不想忙他們的,因爲應用程序將超過服務器使用,並且他們可能需要他們,第二這兩個應用都是同一臺機器上,並最好使用Windows消息,如果可能的... 如果沒有人回答這個問題,我認爲這將是一個很好的方式 – deadManN 2012-08-17 16:27:53

+0

@deadManN窗口消息不推薦的方式去爲C#,檢查,如詳情請參閱本文的評論(http://social.msdn.microsoft.com/Forums/en/winforms/thread/6a7915f1-42a4-4f82-a2c6-9c149c99d7f1)。而且我不擔心使用所有的端口,即使在服務器上也不會經常發生,你只需要一個端口 - 它不會改變任何東西,真的。 – Qnan 2012-08-17 16:40:06

+0

@deadManN此外,如果你還是喜歡做與Windows的消息,嘗試了這一點:http://ryanfarley.com/blog/archive/2004/05/10/605.aspx – Qnan 2012-08-17 16:49:33

1

如果你不介意加入一個新的DLL到您的項目,我建議看看log4net。有一個遠程的appender,RemotingAppender完全符合你的需要。你只需要找到一些關於如何在UI應用程序中實現「接收器」的示例。作爲額外的好處,您可以使用相同的庫附加到EventLog或文件等。

+0

我不是遠程,兩個應用程序都在同一臺機器上,我怕它需要更高的流程......這是否也用於本地應用程序消息傳遞? – deadManN 2012-08-17 16:25:50

+0

在這裏,樣本之間,我看到一些東西,但是在哪裏下載這些示例代碼? – deadManN 2012-08-17 16:37:10

+0

看起來像一個很好的選擇,感謝信息,費利斯。 @deadManN下載源代碼存檔(http://mirror.arcor-online.net/www.apache.org//logging/log4net/source/log4net-1.2.11-src.zip),示例在 – Qnan 2012-08-17 16:55:56

相關問題