2013-01-12 117 views
0

我有一個複雜的服務,我正在使用,和所有的Windows服務一樣,沒有控制檯來讀取任何調試消息,或類似的東西,所以你將不得不記錄所有消息到一個文本文件...我想寫在一個小的TCP服務器(或UDP或NamedPipe並不重要),在那裏我可以有一個調試應用程序...所以基本上,服務運行所有的時間和有這個偵聽器/服務器(Tcp或其他),並總是寫調試消息到服務器,如果我需要調試服務器,我應該能夠連接到它使用TCP客戶端(或任何協議),並閱讀任何調試消息,或者我通常使用Console.WriteLine(「Message」)的任何東西;服務控制檯通過TCP服務器輸出

我知道這似乎是一個瘋狂的想法,但是這件事情我一直在考慮,需要對一些輸入...

我的基本問題是,我可以寫一個TCP服務器到服務,但我我不確定如何始終將消息傳遞給它,或者只有當客戶端連接時,纔會非常感謝任何建議或示例。

注:我正在使用C#並希望堅持使用該語言。

+1

建議:節省一些時間和精力,只需使用IIS併爲您的「調試控制檯」寫一點ASP.Net即可。恕我直言... – paulsm4

+0

這將是太棒了,可悲的是,它不是一個選項。 – Brad

+0

您可以將調試器附加到服務過程嗎?然後你可以使用'System.Diagnostics.Debug.WriteLine'。 –

回答

0

過去,我用TcpListener來做類似的監測程序。這是一件非常容易的事情。爲了與它溝通,我在服務中創建了一個TcpClient

如何使這兩個工作在一起的一個很好的例子是this answer