我需要一個建議,因爲我是「鎖定」 ......C#的Process.Start,Thread.IsBackGround,BackgroundWorker的和.Net.Remoting
我有客戶端之間使用.NetRemoting客戶端 - 服務器應用程序進程和服務器之一。
服務器進程向調用方法的客戶端引發事件。
然後,客戶端使用BackGroundWorker將值傳輸到用戶界面。
Usualy,服務器在客戶端啓動時已經在運行。
- 當BackGroundWorker.DoWork()被調用,Thread.CurrentThread.IsBackground等於真
- 在BackGroundWorker_RunWorkerCompleted事件,Thread.CurrentThread.IsBackground等於假
但是,如果在客戶端加載中(。它需要打開(與Process.Start())服務器進程(.exe)之前,它連接
然後,在BackGroundWorker_RunWorkerCompleted,Thread.CurrentThread.IsBackground仍然等於真和UI無法在這個線程中被改變。
在這種情況下,我需要打開另一個客戶端(連接到同一臺服務器)以獲得良好的行爲。
這兩種情況有什麼區別?
謝謝。
您是否在非UI線程上創建BackgroundWorker?請參閱http://stackoverflow.com/questions/2806814/c-backgroundworker-runworkercompleted-event/2806824#2806824 – Justin 2011-03-17 13:17:25