控制台C#检查互联网可用性并等待它不可用
我一直在寻找代码,这将有助于我,如果互联网连接中断之间 我有一个控制台应用程序,它从数据库中获取数据并批量发送邮件。现在在发送邮件时,如果互联网连接失败,我想等到互联网可用 我这里有很好的ans控制台C#检查互联网可用性并等待它不可用,c#,networking,C#,Networking,我一直在寻找代码,这将有助于我,如果互联网连接中断之间 我有一个控制台应用程序,它从数据库中获取数据并批量发送邮件。现在在发送邮件时,如果互联网连接失败,我想等到互联网可用 我这里有很好的ans public static void ConnectToPUServer() { var client = new WebClient(); while (i < 500 && networkIsAvailable)
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();
}
}
publicstaticvoid ConnectToPUServer()
{
var client=new WebClient();
而(i<500&&networkIsAvailable)
{
string html=client.DownloadString(URI);
//一些数据处理
控制台写入线(i);
i++;
URI=”http://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/“+i+”/”;
}
控制台。WriteLine(“完成”);
writer.Close();
}
静态无效NetworkChange\u NetworkAvailabilityChanged(对象发送方,NetworkAvailabilityEventArgs e)
{
networkIsAvailable=e.IsAvailable;
如果(!networkIsAvailable)
{
Console.WriteLine(“Internet连接不可用!我们将在网络可用时立即恢复…”);
}
其他的
{
ConnectToPUServer();
}
}
这不是我想要的。但我想应用类似的东西。有谁能帮我如何实现这一点吗?我的意思是什么是ConnectToPUServer,什么时候执行NetworkChange\u 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");
}
}
}