我正在开发一个需要在线连接的WP7应用程序。在从mainpage.xaml导航到任何页面之前,我正在使用以下方法检查设备是否已连接到互联网:
isAvailable = NetworkInterface.GetIsNetworkAvailable();
仅当isAvailable
为真时,应用才会继续;否则,它显示一个弹出声明“请检查您的WI-FI连接”
问题:最初,应用程序已连接到互联网,但我应该如何处理在使用应用程序时丢失互联网连接的情况,但在初步检查后?
我应该在每次加载页面时还是在每次服务电话之前检查isAvailable = NetworkInterface.GetIsNetworkAvailable();
?有没有更好的方法来实现这个?
答案 0 :(得分:5)
您应该挂钩到DeviceNetworkInformation.NetworkAvailabilityChanged事件,这将允许您的应用程序在网络可用性更改时得到通知,无需在每次执行服务调用时进行检查: -
答案 1 :(得分:2)
在每个页面上检查NetworkInterface.GetIsNetworkAvailable都没有意义。即使用户具有互联网连接,Web请求也可能失败,实际上它会经常发生。只需确保处理所有错误情况,提供自动或易于使用的重试机制,并通知用户操作无法完成,因为连接错误。
答案 2 :(得分:-2)
using Microsoft.Phone.Net.NetworkInformation;
public MainPage()
{
InitializeComponent();
if (NetworkInterface.GetIsNetworkAvailable())
{
// Use navigation method here
}
else
MessageBox.Show("Need net connection");