Мне нужно получить текущее состояние соединения.
Я обнаружил: событие System.Net.NetworkInformation.NetworkChange.NetworkAvailabilityChanged, но как мне узнать текущее состояние сети?
Возможно, вы ищете класс NetworkInterface.
NetworkInterface
Взгляните на код MSDN здесь, http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkchange.aspx. Он показывает, как запрашивать сетевые адаптеры, чтобы определить их состояние.
public class NetworkingExample { public static void Main() { NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(AddressChangedCallback); Console.WriteLine("Listening for address changes. Press any key to exit."); Console.ReadLine(); } static void AddressChangedCallback(object sender, EventArgs e) { NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); foreach(NetworkInterface n in adapters) { Console.WriteLine(" {0} is {1}", n.Name, n.OperationalStatus); } } }