为什么在 Windows Phone 中使用时,我会收到无法从关闭的 TextReader 读取的内容

本文关键字:读取 TextReader Phone Windows 为什么 | 更新日期: 2023-09-27 18:36:54

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

                }

为什么在 Windows Phone 中使用时,我会收到无法从关闭的 TextReader 读取的内容

关闭

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

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

像这样更改它:

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

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