.NET を使用してインターネット接続を確認する最良の方法は何ですか? 質問する

.NET を使用してインターネット接続を確認する最良の方法は何ですか? 質問する

.NET でインターネット接続を確認する最も速くて効率的な方法は何ですか?

ベストアンサー1

このコードを使うと、イランや中国でも使えるはずです。

public static bool CheckForInternetConnection(int timeoutMs = 10000, string url = null)
{
    try
    {
        url ??= CultureInfo.InstalledUICulture switch
        {
            { Name: var n } when n.StartsWith("fa") => // Iran
                "http://www.aparat.com",
            { Name: var n } when n.StartsWith("zh") => // China
                "http://www.baidu.com",
            _ =>
                "http://www.gstatic.com/generate_204",
        };

        var request = (HttpWebRequest)WebRequest.Create(url);
        request.KeepAlive = false;
        request.Timeout = timeoutMs;
        using (var response = (HttpWebResponse)request.GetResponse())
            return true;
    }
    catch
    {
        return false;
    }
}

おすすめ記事