信息
您所需的主题如下所示。但此主题未包含在此库中。

NetworkInterface.GetIsNetworkAvailable 方法

2013/12/13

指示是否有任何可用的网络连接。

Namespace:  System.Net.NetworkInformation
程序集:  System.Net(位于 System.Net.dll 中)

public static bool GetIsNetworkAvailable()

返回值

类型: System.Boolean
如果有可用的网络连接,则为 true;否则为 false

如果有任何网络接口标记为“up”而且不是环回或隧道接口,则认为有可用的网络连接。

在许多情况下,设备或计算机未连接到有用网络但仍视为可用,而且 GetIsNetworkAvailable 将返回 true。例如,如果运行应用程序的设备连接到需要代理的无线网络,但代理未设置,则 GetIsNetworkAvailable 将返回 true。另一个示例是,如果应用程序在连接到已丢失上游连接的中心或路由器的计算机上运行,GetIsNetworkAvailable 也返回 true

下面的示例使用 GetIsNetworkAvailable 方法确定网络连接是否可用。


public class Example
{
  static bool online = false; 

  public static void Demo(System.Windows.Controls.TextBlock outputBlock)
  {

      // Initialize the online variable and set a NetworkChange handler
      SetupNetworkChange();

      outputBlock.Text += "Network is: ";
      if (online)
          outputBlock.Text += "online";
      else     
          outputBlock.Text += "offline";

      // Now start the main work of the application        
  }

  // method that gets called when the network changes
  static void OnNetworkChange(object sender, EventArgs e)
  {
     if (NetworkInterface.GetIsNetworkAvailable())
     {
         if (!online)
          {
             online = true;
             // do what is needed to GoOnline();
          }
     }
     else {
         if (online)
         {
             online = false;
             // do what is needed to GoOffline();
         }
     }
  }

  private static void SetupNetworkChange()
  {
     // Get current network availalability and store the 
     // initial value of the online variable
     if (NetworkInterface.GetIsNetworkAvailable())
     {
         online = true;
         // do what is needed to GoOnline();
     }
     else
     {
         online = false;
         // do what is needed to GoOffline();
     }

      // Now add a network change event handler to indicate
      // network availability 
      NetworkChange.NetworkAddressChanged +=
          new NetworkAddressChangedEventHandler(OnNetworkChange);
  }
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示: