Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya dapat memeriksa sambungan internet dalam aplikasi .NET?

Bagaimanakah saya dapat memeriksa sambungan internet dalam aplikasi .NET?

Patricia Arquette
Patricia Arquetteasal
2025-01-25 19:46:09189semak imbas

How Can I Efficiently Check for Internet Connectivity in .NET Applications?

ujian sambungan internet berprestasi tinggi dalam aplikasi .NET

Cabaran:

Menentukan sambungan internet dengan cepat dan boleh dipercayai dalam aplikasi .NET, terutamanya di kawasan dengan sekatan laman web yang berpotensi (mis., Iran, China), memberikan cabaran yang signifikan.

Penyelesaian:

Coretan kod yang dioptimumkan ini menyediakan kaedah yang cepat dan cekap untuk mengesahkan akses internet:

<code class="language-csharp">public static bool CheckForInternetConnection(int timeoutMs = 10000, string url = null)
{
    try
    {
        // Selects a suitable URL based on the system's UI culture.
        url = url ?? CultureInfo.InstalledUICulture.Name switch
        {
            var n when n.StartsWith("fa") => "http://www.aparat.com", // Iran
            var n when n.StartsWith("zh") => "http://www.baidu.com", // China
            _ => "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; // Success: Internet connection established.
    }
    catch (Exception)
    {
        return false; // Failure: No internet connection.
    }
}</code>
Pendekatan ini memastikan pemeriksaan sambungan internet yang mantap dalam aplikasi .NET anda, walaupun di bawah keadaan rangkaian geografi yang pelbagai. Penggunaan URL lalai yang berbeza membantu mengatasi sekatan serantau.

Atas ialah kandungan terperinci Bagaimanakah saya dapat memeriksa sambungan internet dalam aplikasi .NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn