1

質問が意味をなさないかもしれませんが、問題は、私のプログラムが問題なく動作することです。しかし、兄弟のPC(比較的新しいもの)に送信してテストしたところ、BackgroundWorker起動しませんでした。

BackgroundWorker bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(fetchList);
if (!bw.IsBusy)
{
    // I have checked that this stage is reached, and it is.
    bw.RunWorkerAsync();
}

呼び出されている関数もデバッグしましたが、確かに起動していません。私は使用して.NET 2.0いるので、これが問題になるとは思いませんか?

問題がある場合、ワーカーによって呼び出される関数は 2 つのパッケージを使用しています。HtmlAgilityPackNewtonsoft.Json

4

1 に答える 1

3

いいえ、そのコードは問題なく機能すると期待できます。期待できないのは、fetchList メソッドが正しく機能していることです。何らかの理由で例外がスローされた場合でも、プログラムがそれについて通知するのを止めることはありません。例外がキャプチャされ、e.Error プロパティとして RunWorkerCompleted イベント ハンドラーに渡されます。それを確認し、適切な是正措置を講じ、少なくともユーザーに知らせる必要があります。

RunWorkerCompleted イベント ハンドラーがありません。もちろん、なぜ fetchList が機能しないのかはわかりません。

于 2013-10-14T17:54:42.710 に答える