2011-05-26 31 views
1

我有一些服務器應用程序,我一直試圖從一些指標,所以我可以調試它們。我發現當滾動窗口時,我突然從客戶端獲得超時。果然,移動滾動條停止了應用程序。滾動ConsoleApplication的滾動條掛起線程

我可能在這裏錯過了一些fundemental,但我無法解決爲什麼在控制檯窗口上移動滾動條會阻塞該線程。

這很簡單重現:

Sub Main() 
    Do 
     Console.WriteLine(Now.ToString("O")) 
     System.Threading.Thread.Sleep(1000) 
    Loop 
End Sub 

運行,最多,並與窗口阻止該線程的任何互動。在下面的例子,我剛搬到滾動了一下,釋放

image http://www.briandrought.com/miscpics/scrollbar.png

我用定時器型環試了一下,而不是一個Thread.sleep代碼前幾秒鐘位置上它但同樣的問題出現。我做錯了什麼(除了不使用服務!)?

親切的問候,

布賴恩

回答

0

你沒有做錯什麼。這就是Windows控制檯應用程序的行爲。在正常的操作中,你的服務器應用肯定會作爲無頭的服務運行,所以在生產中應該沒有問題。