【发布时间】:2015-07-21 14:17:06
【问题描述】:
我有一个稳定的 Windows Phone 8 应用程序,并且已经在野外使用了一段时间。一些用户报告了我无法重现的奇怪行为。但是,如果这些特定设备将 DeviceNetworkInformation.IsNetworkAvailable 报告为 true,而实际上应用程序无权访问在线数据,那么报告的奇怪行为将是有意义的。
DeviceNetworkInformation.IsNetworkAvailable 可靠吗?或者我应该检查其他东西以可靠地确定应用是否可以访问在线数据?
在我的例子中,有两个不同的功能受到影响——检查产品许可证的存在,并确定地图控件是否在线。两项检查都使用 DeviceNetworkInformation.IsNetworkAvailable。
用户报告的事件似乎非常罕见,但对受影响的用户来说是持续存在的。
【问题讨论】:
-
请记住 - 仅仅因为在您访问此 API 时网络可用,并不意味着您一定可以假设您能够访问 特定 端点(并且它将能够成功地完成其工作)。即使在您开始对答案采取行动之前,您也不能假设网络仍处于相同状态。这就是为什么我认为这些 API 几乎毫无意义 - 网络和远程服务器不受您的程序控制,并且随时可能发生更改/故障。
标签: c# windows-phone-8 network-connection