我刚刚在Raspberry Pi 3板上开始了我的UWP应用测试。但是应用程序开始抛出异常:System.Exception:尝试访问标准NTP服务器时,不知道这样的主机。这在调试模式下运行良好。请告诉我应该修复什么。
我认为它与调用'await socket.ConnectAsync(new HostName(“pool.ntp.org”),“123”)的位置有关; '。当应用程序初始化时,不应处理网络调用。根据UWP Application lifecycle,请注意:
如果应用程序需要从网络请求数据或需要从磁盘检索大量数据,则应在启动之外完成这些活动。
当应用程序处于LeavingBackground状态时,应该处理网络调用.LeavingBackground是确保UI的第一帧准备就绪的时间。我已经在GitHub(NTPDemo)中发布了我的测试演示。在这个演示中,如果在MainPage的构造函数中调用了client.GetNetworkTimeAsync方法,应用程序将阻塞在socket.ConnectAsync。实际上此时,应用程序尚未运行如果在OnNavigatedTo中调用该方法,它将正常工作。