如果在应用程序运行之间,Windows Phone 7应用程序的互联网连接丢失,如何处理?

时间:2012-05-16 06:48:33

标签: windows-phone-7

我正在开发一个需要在线连接的WP7应用程序。在从mainpage.xaml导航到任何页面之前,我正在使用以下方法检查设备是否已连接到互联网:

isAvailable = NetworkInterface.GetIsNetworkAvailable();

仅当isAvailable为真时,应用才会继续;否则,它显示一个弹出声明“请检查您的WI-FI连接”

问题:最初,应用程序已连接到互联网,但我应该如何处理在使用应用程序时丢失互联网连接的情况,但在初步检查后?

我应该在每次加载页面时还是在每次服务电话之前检查isAvailable = NetworkInterface.GetIsNetworkAvailable();?有没有更好的方法来实现这个?

3 个答案:

答案 0 :(得分:5)

您应该挂钩到DeviceNetworkInformation.NetworkAvailabilityChanged事件,这将允许您的应用程序在网络可用性更改时得到通知,无需在每次执行服务调用时进行检查: -

http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged(v=vs.92).aspx

答案 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");