Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows store apps 从Windows 8应用商店应用程序中的文件检索数据_Windows Store Apps_Windows Store - Fatal编程技术网

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()不存在。