RSS フィードを読み取り、それらをメイン クラスに返すクラスを作成しました。これに使用するコードは次のとおりです。
public List<Post> getLatestPosts()
{
this.rssReader = new XmlTextReader(this.rssUrl);
this.rssDoc = new XmlDocument();
// Load the XML content into rssDoc
rssDoc.Load(rssReader);
// ... other code to parse XML ... //
}
ここで、アプリケーションを呼び出すとgetLatestPosts()
、数秒間ロックアップします。これは、アプリケーションが RSS フィードを要求するのにかかる時間 (ネットワークの遅延など) が原因であると推測しています。
これを変更して、プログラムがロックアップせず、代わりに応答を待つようにしたいと考えています。メイン フォームでスレッドを使用することを考えていましたが、取得した RSS データをどのように取得するかについて混乱していますgetLatestPosts()
。
ボタンでこれを行う場合、メインフォームをクリックします。
private void bGetLatestPosts_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(rssReader.getLatestPosts()));
}
getLatestPosts()
返されるものは何もキャプチャしていません。
私はスレッドにまったく慣れていません (これはほとんどの場合、スレッドを試して学習するためにいじっているだけです) が、C# の経験はある程度あります。
ありがとう。