Windows Phone 8开发:OpenStreamForWriteAsync无法正常工作吗?

神经巫师

这是我在stackoverflow上的第一篇文章,我希望我能按预期做所有事情。我已经使用过搜索功能,但没有发现任何可以帮助我的东西。

我遇到的问题与用于打开流到文件的OpenStreamForWriteAsync()方法有关。有时,代码会按预期执行(流已打开,我写了自己的东西,等等)。但是在其他情况下,程序只是在我等待流的那一点退出。它不会引发任何异常,所以我不知道为什么会这样。

这是代码:

class MyDataSerializer<T>
{
    public static async Task SaveObjectsAsync(T sourceData, string targetFileName) {
        StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync(targetFileName, CreationCollisionOption.ReplaceExisting);
        var outStream = await file.OpenStreamForWriteAsync();//PROBLEM HERE
        DataContractSerializer serializer = new DataContractSerializer(typeof(T));
        serializer.WriteObject(outStream, sourceData);
        await outStream.FlushAsync();
        outStream.Close();
    }

    public static async Task<T> RestoreObjectsAsync(string fileName) {
        StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync(fileName);
        var inStream = await file.OpenStreamForReadAsync();

        DataContractSerializer serializer = new DataContractSerializer(typeof(T));
        T data = (T)serializer.ReadObject(inStream);
        inStream.Close();

        return data;
    }
}

问题出现在第5行!只是为了澄清这一点:类中的两个方法都起作用。只是SaveObjectsAsync有时不起作用,我也不知道为什么。在调试时,我会在所有行上设置断点,但是当发生神秘问题时,调试会话将在没有任何异常的情况下结束(是的,我将VS 2012设置为显示存在的各种异常),并且数据未序列化,因此当我启动时该应用再次出现,没有数据加载...

希望我的帖子不会太长,并且你们知道我遇到的问题。

预先谢谢你们!

PS:该代码直接来自MS提供的Jump Start视频之一(在31:00):链接

很快

您是否在等待SaveObjectsAsync完成?

您可以使用newawait关键字来实现,也可以(例如,如果从控制台应用程序的主线程中调用它)通过t.Wait();在SaveObjectsAsync返回的Task对象中调用method来实现。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Windows Phone 8上平移无法正常工作

来自分类Dev

Windows Phone 8.1 BackPressed无法正常工作

来自分类Dev

Windows Phone 8蓝牙开发

来自分类Dev

Windows Phone 8.1开发

来自分类Dev

我可以使用Windows Phone 8 SDK开发Windows Phone 7.1应用程序吗?

来自分类Dev

Windows Phone 8记录

来自分类Dev

Windows Phone 8的LockScreen

来自分类Dev

Windows Phone 8记录

来自分类Dev

jQuery mobile $ .mobile.changePage()Windows Phone 8无法正常工作Cordova / PhoneGap

来自分类Dev

Windows Phone 8的密码锁定屏幕下快速应用程序恢复无法正常工作

来自分类Dev

Windows 8 Phone C#请求桌面网站无法正常工作

来自分类Dev

jQuery mobile $ .mobile.changePage()Windows Phone 8无法正常工作Cordova / PhoneGap

来自分类Dev

以下代码在Windows Phone 8中正常工作,但是当我转换为Windows Phone 8.1时,NavigationContext无法正常工作

来自分类Dev

Windows Phone模拟器无法正常工作

来自分类Dev

Parse.com Windows Phone 8.1无法正常工作

来自分类Dev

HardwareButton BackPressed在Windows Phone 8.1中无法正常工作

来自分类Dev

HttpClient PCL在Windows Phone上无法正常工作

来自分类Dev

_wfopen_s在Windows Phone应用中无法正常工作

来自分类Dev

Windows Phone模拟器无法正常工作

来自分类Dev

Windows Phone 8.1 NavigationService.navigate无法正常工作

来自分类Dev

在Windows Phone 8开发后裁剪图片

来自分类Dev

Windows Phone 8开发的替代方法

来自分类Dev

在Windows 7上启动Windows Phone开发

来自分类Dev

“ Windows Phone Silverlight 8”是否与“ Windows Phone 8”相同?

来自分类Dev

Windows 7所有者可以开发Windows Phone 8应用程序吗?

来自分类Dev

Windows Phone 8 Image Binding

来自分类Dev

Windows Phone 8:显示pdf

来自分类Dev

Windows Phone 8中的NavigationDrawer

来自分类Dev

Windows Phone 8图像绑定

Related 相关文章

  1. 1

    在Windows Phone 8上平移无法正常工作

  2. 2

    Windows Phone 8.1 BackPressed无法正常工作

  3. 3

    Windows Phone 8蓝牙开发

  4. 4

    Windows Phone 8.1开发

  5. 5

    我可以使用Windows Phone 8 SDK开发Windows Phone 7.1应用程序吗?

  6. 6

    Windows Phone 8记录

  7. 7

    Windows Phone 8的LockScreen

  8. 8

    Windows Phone 8记录

  9. 9

    jQuery mobile $ .mobile.changePage()Windows Phone 8无法正常工作Cordova / PhoneGap

  10. 10

    Windows Phone 8的密码锁定屏幕下快速应用程序恢复无法正常工作

  11. 11

    Windows 8 Phone C#请求桌面网站无法正常工作

  12. 12

    jQuery mobile $ .mobile.changePage()Windows Phone 8无法正常工作Cordova / PhoneGap

  13. 13

    以下代码在Windows Phone 8中正常工作,但是当我转换为Windows Phone 8.1时,NavigationContext无法正常工作

  14. 14

    Windows Phone模拟器无法正常工作

  15. 15

    Parse.com Windows Phone 8.1无法正常工作

  16. 16

    HardwareButton BackPressed在Windows Phone 8.1中无法正常工作

  17. 17

    HttpClient PCL在Windows Phone上无法正常工作

  18. 18

    _wfopen_s在Windows Phone应用中无法正常工作

  19. 19

    Windows Phone模拟器无法正常工作

  20. 20

    Windows Phone 8.1 NavigationService.navigate无法正常工作

  21. 21

    在Windows Phone 8开发后裁剪图片

  22. 22

    Windows Phone 8开发的替代方法

  23. 23

    在Windows 7上启动Windows Phone开发

  24. 24

    “ Windows Phone Silverlight 8”是否与“ Windows Phone 8”相同?

  25. 25

    Windows 7所有者可以开发Windows Phone 8应用程序吗?

  26. 26

    Windows Phone 8 Image Binding

  27. 27

    Windows Phone 8:显示pdf

  28. 28

    Windows Phone 8中的NavigationDrawer

  29. 29

    Windows Phone 8图像绑定

热门标签

归档