摸鱼的人 2018-03-08 13:51 采纳率: 0%
浏览 1029
已结题

UWP编程Debug模式下程序没有问题,Release下异步方法没有执行完导致出现报错?

我的程序是这样的,有一个类在启动的时候需要从本地文件读取字符串,所以写了一个异步方法用来读文件,然后在构造函数里调用了它。刚开始学UWP编程,也是第一次接触UWP的异步编程,不是很懂是不是异步方法不能这么用?但是我在Debug模式下程序没有问题,切换到Release就出现下面的状况了,请各位大佬指教指教!

public MyPage()
        {
            this.InitializeComponent();
            if (isLoaded == false)
            {
                            // 程序进入了异步方法里,但是没执行完异步方法的所有语句
                                // 就跳出来直接走到isLoaded=true了
                                // 导致没读到数据
                var task = GetJsonFileAsync(); 
                isLoaded = true;
            }
      }

private async Task GetJsonFileAsync()
        {
            var uri = new System.Uri("ms-appx:///Assets/Data/Data.json");
                        // 只有上面这一行执行了,下面标记了await的都跳过了
            var file = await StorageFile.GetFileFromApplicationUriAsync(uri);
            string text = await Windows.Storage.FileIO.ReadTextAsync(file);
            var arr = text.Split('Y');
            DataStore.Data = arr[0];
            DataStore.Filter = arr[1];
        }
  • 写回答

1条回答 默认 最新

  • threenewbee 2018-03-09 16:12
    关注

    检查权限,还有 string text = await Windows.Storage.FileIO.ReadTextAsync(file); 这里的路径

    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64