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