17

如何在 Windows 8、C# 开发中检查 Internet 连接可用性?我查看了 MSDN,但页面已被删除。

4

3 回答 3

42

我使用这个片段没有问题:

public static bool IsInternet()
{
    ConnectionProfile connections = NetworkInformation.GetInternetConnectionProfile();
    bool internet = connections != null && connections.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess;
    return internet;
}
于 2012-11-29T12:51:47.023 回答
10

我必须使用 GetConnectionProfiles() 和 GetInternetConnectionProfile() 才能使其在所有设备上工作。

class ConnectivityUtil
{
    internal static bool HasInternetConnection()
    {            
        var connections = NetworkInformation.GetConnectionProfiles().ToList();
        connections.Add(NetworkInformation.GetInternetConnectionProfile());

        foreach (var connection in connections)
        {
            if (connection == null)
                continue;

            if (connection.GetNetworkConnectivityLevel() == NetworkConnectivityLevel.InternetAccess)
                return true;
        }

        return false;
    }
}
于 2015-04-17T14:17:48.427 回答
0

对于 Windows Phone 以下代码可能有用:

var networkInformation = NetworkInformation.GetConnectionProfiles();    
if (networkInformation.Count == 0)    
{    
  //no network connection    
}          
于 2014-03-04T07:28:54.127 回答