短版即使有異常傳遞給BackgroundWorker的訪問參數?
如何訪問在RunWorkerCompleted
事件傳遞給BackgroundWorker
的說法,如果有異常長大的嗎?
更長版本
我使用我的應用程序BackgroundWorker
組件。在應用程序啓動時,我查詢數據庫以獲取未發送的消息列表。然後使用GSM調制解調器(內部後臺工作人員),我一個接一個地發送消息。
現在只要我決定發送消息,我將它添加到名爲CurrentlyHandledMessages的列表中。這確保2個調制解調器不會發送相同的消息。
現在我將消息傳遞給所述BackgroundWorker
作爲參數的ID,並將其發送的消息,並且RunWorkerCompleted
事件引發和我從CurrentlyHandledMessages刪除ID列表。我將結果作爲Tuple傳遞。
e.Result = new Tuple<int, String>(idToHandle, response);
這工作正常,如果沒有例外。
但是,如果發生異常,我無法看到如何將參數傳遞給BackgroundWorker
。因爲在RunWorkerCompleted
事件中,我想刪除該ID,無論如何。
如果我發現異常並且不重新拋出異常,它是否仍然可以在RunWorkerCompleted事件的'e.Error'中使用? – 2013-04-11 03:14:23
@RanhiruCooray,很好的問題,我不知道,但也可以重新拋出它。讓所有其他事情都一樣,重新拋出,因爲這仍然會打到最後。 – 2013-04-11 03:40:56