我在新的C#應用程序中使用舊的COM組件(通信類庫)。 COM控件處理與我們的一些儀器的通信。其中一個功能是下載數據,這取決於數據的大小,可能是一個相當長的操作。新的C#應用程序被設置爲處理下載作爲一個線程。問題是,當代碼執行下載功能時,其他一切都凍結了,所以我不能點擊UI中的「取消」按鈕。我已經添加了一個睡眠()(嘗試從0到1000的所有參數作爲參數)每個塊後調用下載代碼沒有成功。有我困惑的部分是,如果我的下載線程,而不是調用COM控件,只是在C#中執行無限循環,我可以取消它,因爲UI是活動的。有沒有人有任何想法,我可以嘗試使下載線程產量?如何使COM控件中的代碼產生其他進程?
感謝
什麼是COM組件的ThreadingModel? – Martin 2011-03-22 14:30:57