2012-06-10 34 views
1

我在我的Windows手機應用程序中有以下代碼,崩潰與例外:無法從封閉的TextReader讀取。爲什麼我得到一個無法從封閉的TextReader讀取,當在Windows Phone中使用它

有人可以告訴我爲什麼,我無法弄清楚什麼是錯的。

IsolatedStorageFile ISF = IsolatedStorageFile.GetUserStoreForApplication(); 

       IsolatedStorageFileStream FS = ISF.OpenFile("ipview.txt", FileMode.Open, FileAccess.Read); 

       using (StreamReader SR = new StreamReader(FS)) 
       { 



         while (!SR.EndOfStream) 
         { 
          Dispatcher.BeginInvoke(() => 
        { 
          IPHistoryBox.Items.Add(SR.ReadLine()); 
        }); 
         } 



       } 

回答

3

StreamReader被關閉後,該代碼調度線程上執行:

Dispatcher.BeginInvoke(() => 
{ 
    IPHistoryBox.Items.Add(SR.ReadLine()); 
}); 

改變這樣的:

var x = SR.ReadLine(); 
Dispatcher.BeginInvoke(() =>IPHistoryBox.Items.Add(x)); 

這樣的StreamReader在當前線程上閱讀並在分派器線程上使用結果。

相關問題