控制台C#检查互联网可用性,然后等待它不可用
本文关键字:等待 然后 检查 互联网 可用性 控制台 | 更新日期: 2023-09-27 18:01:01
我一直在搜索代码,如果两者之间的互联网连接中断,这些代码将对我有所帮助。
我有一个控制台应用程序,它从数据库中获取数据并批量发送邮件。现在,当发送邮件时,如果互联网连接失败,我想等到互联网可用。
我这里有好消息
public static void ConnectToPUServer()
{
var client = new WebClient();
while (i < 500 && networkIsAvailable)
{
string html = client.DownloadString(URI);
//some data processing
Console.WriteLine(i);
i++;
URI = "http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/" + i + "/";
}
Console.WriteLine("Complete.");
writer.Close();
}
static void NetworkChange_NetworkAvailabilityChanged(object sender,NetworkAvailabilityEventArgs e)
{
networkIsAvailable = e.IsAvailable;
if (!networkIsAvailable)
{
Console.WriteLine("Internet connection not available! We resume as soon as network is available...");
}
else
{
ConnectToPUServer();
}
}
这不是我想要的。但我想应用类似的东西。有人能帮我如何实现吗?我的意思是什么是ConnectToPUServer,何时执行NetworkChange_NetworkAvailabilityChanged,使用什么命名空间?
您可以使用下面提到的代码,因为您必须使用
using System.Net.NetworkInformation;
public partial class MainWindow : Window
{
public bool IsAvailable { get; set; }
public MainWindow()
{
InitializeComponent();
NetworkChange.NetworkAvailabilityChanged += NetworkChange_NetworkAvailabilityChanged;
}
void NetworkChange_NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
{
IsAvailable = e.IsAvailable;
}
private void BrowseButton_Click(object sender, RoutedEventArgs e)
{
if (IsAvailable)
{
WebBrowser1.Navigate(TextBox1.Text);
}
else
{
MessageBox.Show("Your Popup Message");
}
}
}