检查Silverlight中的互联网连接

时间:2010-07-01 15:02:15

标签: c# .net vb.net silverlight silverlight-4.0

我正在编写一个Silverlight 4应用程序,并且想要检查何时打开已安装的浏览器应用程序,是否存在有效的Internet连接(然后从我的网站下载一些数据)。做这个的最好方式是什么?我意识到我可以尝试一下WebRequest,但这对我来说似乎有点笨拙。

编辑:我认为有效的互联网连接只是连接到互联网

3 个答案:

答案 0 :(得分:3)

有效的互联网连接究竟是什么?如果您想检查是否有从网站下载数据的功能,请检查您是否可以从您的网站下载。将try / catch块放在可能由于程序无法控制的原因而失败的事情上,没有什么非常的hacky。这正是我要做的。

客户端“连接到Internet”并不一定意味着您的网站可用于提供您想要的数据。这是唯一有效的测试方法。

答案 1 :(得分:3)

有一个名为NetworkInterface的类允许这样做。

 if (!NetworkInterface.GetIsNetworkAvailable())
 { 
      // no network connection
 }

现在无法保证始终确定是否存在互联网连接,具体取决于代理设置和其他变量。

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.aspx

答案 2 :(得分:1)

你可以用Application.CheckAndDownloadUpdateAsync一石二鸟。当您在处理Application.CheckAndDownloadUpdateCompletedFalseUpdateAvailable时,这将意味着两件事之一 - 您的网站无法访问或者没有可用的更新。在任何一种情况下,你都会知道你需要知道什么。