Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
控制台C#检查互联网可用性并等待它不可用_C#_Networking - Fatal编程技术网

控制台C#检查互联网可用性并等待它不可用

控制台C#检查互联网可用性并等待它不可用,c#,networking,C#,Networking,我一直在寻找代码,这将有助于我,如果互联网连接中断之间 我有一个控制台应用程序,它从数据库中获取数据并批量发送邮件。现在在发送邮件时,如果互联网连接失败,我想等到互联网可用 我这里有很好的ans public static void ConnectToPUServer() { var client = new WebClient(); while (i < 500 && networkIsAvailable)

我一直在寻找代码,这将有助于我,如果互联网连接中断之间

我有一个控制台应用程序,它从数据库中获取数据并批量发送邮件。现在在发送邮件时,如果互联网连接失败,我想等到互联网可用

我这里有很好的ans

    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");
        }
    }
}