backgroundworker

    1熱度

    2回答

    我創建了Backgroundworker以在使用不同類提供的一些方法的串行端口上操作。每次發生這些方法的異常時,我想取消一名工作人員。 事實上,我有一些想法如何使用事件做到這一點,但恐怕這不是最佳解決方案或良好做法。在這種情況下,我應該用每種方法開火,這在我看來效率不高。 。 對於離,一個從方法,ReceiveRecord看起來像這樣: public string ReceiveRecord()

    0熱度

    1回答

    我有一個c#web應用程序,它讀取excel文件將其轉換爲XML執行存儲過程並返回執行輔助更新所需的特定格式的數據集。該數據集返回18000個記錄。一旦數據集被填充,我循環並調用Web服務來執行應用程序數據庫的更新。我的問題是我怎麼能夠以較小的批次或更小的塊甚至使用進度條來執行此更新。這是調用Web服務和運行更新 public string InvokeSubmitCalendarValues()

    2熱度

    2回答

    我正在使用WinForm,從中我需要的所有進程都被引導。現在我試圖將BackgroundWorker和ProgressBar以及取消按鈕集成到我的代碼中。我希望它在本地代碼周圍,而不是單獨的方法。爲了測試這個,一個新的表單用一個進度條(不活動)和一個停止for循環的按鈕來創建。但是,代碼無法正常工作(甚至還沒有包含進度條)。表單立即凍結(見圖),所以我無法測試取消按鈕。然而,for循環被執行並顯示

    0熱度

    1回答

    我有一個要求,在客戶端向單個網頁發出請求時,此網頁需要從兩個其他網頁中檢索結果。 我們要求信息的兩個網頁在返回結果之前執行一個過程,這個過程可能需要幾分鐘的時間,而不是啓動一個Web請求並等待它返回,然後開始另一個我想要消除後臺工作人員的這兩項請求,並將結果同時生成。 所以我的代碼看起來是這樣的(僞代碼): var worker1 = new BackgroundWorker(); var wo

    1熱度

    2回答

    我正在與c#工作半年前,我正在學習。 我有一個幫助我工作的程序,它在我的工作場所與4種數據庫進行通信。它的工作完美,但現在我想設計使它更酷,但當我想設置一個進度環時,我卡住了,因爲我的方法在與我的數據庫進行通信時凍結UI。 我想建立一個後臺工作人員,我嘗試了所有我發現甚至調用過的東西,但沒有任何工作。 public partial class MainWindow : MetroWindow {

    0熱度

    2回答

    所以我有form1其中有backgroundworker(通過設計視圖拖放)。 我可以讓它在我需要的地方工作,但是我需要從公共方法中調用它。 在這種公共方法 Utility.initpacks(object sender, EventArgs e,string formname) 所以我DoWork是Form1。 我在表單中的公用事業做了一堆事情,然後該功能需要再次使用Form1中的後臺工作者

    0熱度

    1回答

    我的程序從串口獲取高速數據,並且定時器讀取它,當定時器獲得值後,定時器被禁用,並且代碼執行sting操作,其中增加了從com早期接受到listview的值。問題是,UI線程並不完全凍結,但它似乎laggy當我拖動窗體,也就是說,每次在subitem.text上添加+1的代碼是不光滑的。 founditem.SubItems(4).Text = founditem.SubItems(4).Text

    0熱度

    1回答

    以下是一個場景,它是一個winforms應用程序,其中有一個進程集合,我在DoWork for循環內逐個運行Backgroundworker類的事件。我在for循環中定期調用ReportProgress()來更新UI。 現在,當我調用ReportProgress()時,它會觸發ProgressChanged事件,其中我有代碼用以前在DoWork中設置的所有消息更新UI。但是,因爲它在一個單獨的線程

    0熱度

    1回答

    我試圖從文件加載數據列表並立即在Winforms的Datagridview上顯示該數據。爲此,我使用Backgroundworker在另一個線程中進行了閱讀。問題是,它只更新一次,我不能讓它顯示更多的數據。不僅如此,單擊時,它會嘗試訪問具有-1索引的元素,這當然不存在,導致崩潰。 通常,從我所看到的情況來看,只需將相同的數據添加到數據源dataGridView1.DataSource = same

    2熱度

    2回答

    我想要如此同步我的文件夾,所以我有10個Filesystemwatcher和4個Backgroundworkers。 想法是,一個觀察員可以打電話給4名工作人員,但我希望觀察員選擇一個主動和自由的工作人員,其他人不應該被觸發。 經驗值:工人1被解僱,2-4沒有。 我在這裏做錯了什麼? 這裏是我的代碼 private void watcher1_OnChanged(object source, F