1

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

isAvailable = NetworkInterface.GetIsNetworkAvailable();

应用程序仅在isAvailable为真时继续;否则会弹出“请检查您的 WI-FI 连接”

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

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

4

3 回答 3

5

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

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

于 2012-05-16T08:32:48.170 回答
2

在每个页面上检查 NetworkInterface.GetIsNetworkAvailable 毫无意义。即使用户有 Internet 连接,Web 请求也可能失败,实际上这种情况经常发生。只需确保处理所有错误情况,提供自动或易于使用的重试机制,并通知用户操作无法完成,因为其连接出现问题。

于 2012-05-16T07:08:10.463 回答
-2
using Microsoft.Phone.Net.NetworkInformation;

public MainPage()

    {
        InitializeComponent();

        if (NetworkInterface.GetIsNetworkAvailable())
        {
           // Use navigation method here
        }
        else

           MessageBox.Show("Need net connection");
于 2012-05-16T07:16:45.913 回答