判断网络连接的最快、最有效的方法是什么.网

推荐答案

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

.net相关问答推荐

EFCore.DbSet.Update 方法添加新行而不是更新它

使用 DataDog 收集 OpenTelemetry 跟踪

防止在 .NET 上构建路径中的反斜杠以进行跨平台部署

判断 Windows 路径中是否存在可执行文件

从 byte[] 创建 zip 文件

如何在没有抽象基类的情况下强制覆盖后代中的方法?

MongoDB C# 驱动程序 - 忽略绑定字段

为什么循环引用被认为是有害的?

使用 IIS Express 托管网站(临时)

HttpClient 和使用代理 - 不断得到 407

什么决定了 Path.GetTempPath() 的返回值?

如何将 UI Dispatcher 传递给 ViewModel

Int 到字节数组

什么版本的 .NET 附带什么版本的 Windows?

等效于 C# 在 powershell 中的使用关键字?

我应该绑定到 ICollectionView 还是 ObservableCollection

判断 .NET 中的目录和文件写入权限

接口属性的 XML 序列化

C# 应用程序中的资源和嵌入式资源有什么区别?

Linq Query 不断抛出无法创建 System.Object 类型的常量值......,为什么?