2012-06-10 57 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在当前线程上阅读并在分派器线程上使用结果。

相关问题