精简版
如果引发异常,我如何访问传递给事件的参数BackgroundWorker
?RunWorkerCompleted
更长的版本
我BackgroundWorker
在我的应用程序中使用了一个组件。在应用程序启动时,我查询数据库以获取未发送的消息列表。然后使用 GSM 调制解调器(在后台工作人员内部)我一一发送消息。
现在,只要我决定发送一条消息,我就会将它添加到一个名为CurrentHandledMessages的列表中。这是为了确保 2 个调制解调器不会发送相同的消息。
现在我将消息的 ID 传递给BackgroundWorker
作为参数传递给 并发送消息,然后RunWorkerCompleted
引发事件并从CurrentHandledMessages列表中删除 ID。我将结果作为元组传递。
e.Result = new Tuple<int, String>(idToHandle, response);
如果没有例外,这工作正常。
BackgroundWorker
但是,如果引发异常,我看不到如何将参数传递给。因为在RunWorkerCompleted
事件中,无论如何我都想删除 id 。