检测C#WebBrowser组件是否脱机?

检测C#WebBrowser组件是否脱机?,c#,browser,webbrowser-control,offline,C#,Browser,Webbrowser Control,Offline,我们正在开发一个包装的WebBrowser组件。如果用户处于联机状态,我们希望显示一个页面(例如oursite.com/thispage.html),如果用户处于脱机状态,则显示另一个页面(例如C:\somewhere\thispage\u offline.html)。我能够正确显示这两个页面,但我的问题是检测在线/离线状态 我试过了 ; 然而,似乎只是中继脱机模式状态,而不是计算机是否真正能够访问互联网 有没有办法从WebBrowser组件检测到这一点?有办法吗 谢谢你的帮助 如果您只是使用该

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

我试过了 ; 然而,似乎只是中继脱机模式状态,而不是计算机是否真正能够访问互联网

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


谢谢你的帮助

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

检查internet连接的最简单方法是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; }
}

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

Ping不适用于我们的服务器(尽管它适用于我的个人网站…奇怪),但WebRequest适用。谢谢