1

我的 Windows 手机应用程序中有以下代码,但会崩溃,但出现以下异常:无法从关闭的 TextReader 中读取。

谁能告诉我为什么,我不知道什么是错的。

    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());
                    });
                        }



                }
4

1 回答 1

3

StreamReader此代码在关闭后在调度程序线程上执行:

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

像这样改变它:

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

这样StreamReader,在当前线程上读取结果并在 Dispatcher 线程上使用结果。

于 2012-06-10T17:44:02.203 回答