我已經讓自己成爲一個讀取RSS提要並將它們返回給我的主類的類。我用這個代碼是:當閱讀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數據獲取的任何RSS數據感到困惑。
如果我這樣做,我的按鈕點擊我的主要形式:
private void bGetLatestPosts_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(rssReader.getLatestPosts()));
}
我不會捕捉任何getLatestPosts()
回報。
我完全陌生的線程(這大部分只是我亂搞,嘗試和學習),但我確實有一些在C#中的經驗。
謝謝。
感謝,背景工人正是我想要的。並再次感謝按鈕關閉技巧,沒有想到這一點。 :) –