2011-05-31 85 views
2

有什麼方法可以使用WCF和C#登錄到Windows機器嗎?我正在創建一個測試工具,它需要遠程登錄一個Windows用戶。遠程登錄WCF和C#

到目前爲止,我們一直無法成功完成此操作,因爲一旦用戶從機器註銷,自行託管的WCF就會關閉。

+0

機器上的服務沒有答案嗎?服務如何託管? – 2011-05-31 14:29:50

+0

@Sam自託管的WCF – oleksii 2011-05-31 14:32:06

+0

您在IIS下運行自託管的WCF?嘗試在Windows服務中託管您的WCF服務。然後,只要服務器啓動,即使沒有交互式用戶,它也可以啓動。 – 2011-05-31 14:51:02

回答

0

在Web端使用提供的證書,您可以嘗試通過WMI登錄?但它的確取決於你打算對遠程機器做什麼 - 其他選項將是遠程機器上的客戶機

+0

你能否詳細解釋一下:有遠程WMI登錄嗎? _a客戶端在遠程計算機上的含義是什麼_以及在PC註銷時如何與它通信? – oleksii 2011-05-31 14:51:32

+0

WMI是一種連接遠程機器和執行操作的方法 - 快速谷歌有很多示例 - 但要做幾乎任何你需要提供的憑據 - 例如,從您的網站獲取用戶名和密碼。 – BugFinder 2011-05-31 14:53:39

4

你的問題在於你將該服務作爲控制檯應用程序託管。當用戶註銷時,應用程序停止。

將您的服務託管在Windows服務中,這將使其能夠在沒有用戶登錄的情況下啓動並運行。

MSDN on hosting in a windows service

作爲小費,在OnStart方法中添加以下行:

Debugger.Launch(); 

和using語句:

using System.Diagnostics; 

如果您有服務啓動的問題,立即停止。這應該允許您在開始調試問題時將調試器附加到該服務。