【问题标题】:Detect If Offline - in C# WebBrowser component?检测是否脱机 - 在 C# WebBrowser 组件中?
【发布时间】:2010-12-02 19:06:09
【问题描述】:

我们正在开发一个包装好的 WebBrowser 组件。如果用户在线,我们希望显示一个页面(例如 oursite.com/thispage.html),如果用户离线,我们希望显示另一个页面(例如 C:\somewhere\thispage_offline.html)。我能够正确显示两个页面,但我的问题是检测在线/离线状态。

我试过了 WebBrowser.IsOffline;但是似乎只传递离线模式状态,而不是计算机是否真的能够访问互联网。

有没有办法从 WebBrowser 组件中检测到这一点?有办法吗?

感谢您的帮助!

【问题讨论】:

    标签: c# browser webbrowser-control offline


    【解决方案1】:

    检查互联网连接的最简单方法是 ping 您的服务器。

    试试这个代码:

    public static bool IsOnline() {
        var pinger = new Ping();
    
        try {
            return pinger.Send("oursite.com").Status == IPStatus.Success;
        } catch(SocketException) { return false; } catch(PingException) { return false; }
    }
    

    或者,您可以尝试使用WebRequest class 向您网站上的一个简单页面发送请求,看看它是否成功。这是一个更好的选择,因为它还可以确保 IIS(或 Apache)正在服务器上运行。

    【讨论】:

    • Ping 不适用于我们的服务器(尽管它适用于我的个人网站...很奇怪),但 WebRequest 可以。谢谢!
    【解决方案2】:

    如果您只是使用Ping 类来查看站点是否可用怎么办?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-23
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      相关资源
      最近更新 更多