Windows store apps 从Windows 8应用商店应用程序中的文件检索数据
我已经创建了一个应用程序,在该应用程序中我已成功地将详细信息写入文件。但是,当从应用程序访问文件时,我得到以下例外情况: 以下是我的班级:Windows store apps 从Windows 8应用商店应用程序中的文件检索数据,windows-store-apps,windows-store,Windows Store Apps,Windows Store,我已经创建了一个应用程序,在该应用程序中我已成功地将详细信息写入文件。但是,当从应用程序访问文件时,我得到以下例外情况: 以下是我的班级: public class UserDetails { public string Name { get; set; } public string Course { get; set; } public string City { get; set; } } 以下是我编写、读取和归档的代码: private async void
public class UserDetails
{
public string Name { get; set; }
public string Course { get; set; }
public string City { get; set; }
}
以下是我编写、读取和归档的代码:
private async void btnSearch_Click(object sender, RoutedEventArgs e)
{
details.Name = TxtName.Text;
details.Course = TxtCouse.Text;
details.City = TxtCity.Text;
await SaveAsync();
this.Frame.Navigate(typeof(string));
}
private async Task SaveAsync()
{
StorageFolder localfolder = await ApplicationData.Current.LocalFolder.CreateFolderAsync("Storage Application", CreationCollisionOption.OpenIfExists);
StorageFile sampleFile = await localfolder.CreateFileAsync("UserDetails", CreationCollisionOption.ReplaceExisting);
IRandomAccessStream stream = await sampleFile.OpenAsync(FileAccessMode.ReadWrite);
using(IOutputStream outstream = stream.GetOutputStreamAt(0))
{
DataContractSerializer serializer = new DataContractSerializer(typeof(UserDetails));
serializer.WriteObject(outstream.AsStreamForWrite(), details);
await outstream.FlushAsync();
}
await RestoreDataAsync();
}
private async Task RestoreDataAsync()
{
StorageFolder localfolder = await ApplicationData.Current.LocalFolder.GetFolderAsync("Storage Application");
StorageFile sampleFile = await localfolder.GetFileAsync("UserDetails");
IRandomAccessStream inStream = await sampleFile.OpenAsync(FileAccessMode.Read);
DataContractSerializer serializer = new DataContractSerializer(typeof(UserDetails));
var Details = (UserDetails)serializer.ReadObject(inStream.AsStreamForRead());
inStream.Dispose();
TblName.Text = details.Name;
TblCourse.Text = details.Course;
TblCity.Text = details.City;
}
我是新创建Windows应用商店应用程序的。问题在于您的SaveAsync()方法,您打开了sampleFile的StorageFile,但尚未处理它。尝试添加
sampleFile.Dispose()代码>使用后。我无法访问sampleFile.Dispose()。Dispose()不存在。