我的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());
});
}
}
答案 0 :(得分:3)
此代码在StreamReader
关闭后在调度程序线程上执行:
Dispatcher.BeginInvoke(() =>
{
IPHistoryBox.Items.Add(SR.ReadLine());
});
像这样改变:
var x = SR.ReadLine();
Dispatcher.BeginInvoke(() =>IPHistoryBox.Items.Add(x));
这样在当前线程上读取StreamReader
,结果在Dispatcher线程上使用。