如何检查Silverlight OOB中是否有Internet连接

时间:2010-11-23 17:13:59

标签: c# silverlight-4.0 silverlight-oob

我有一个Silverlight 4应用程序,它在浏览器之外运行,它还有一个Web服务,它与特定功能进行对话。

我正在尝试弄清楚如何检查网络服务是否可用,因为当互联网连接中断时应用程序崩溃。

2 个答案:

答案 0 :(得分:4)

最简单的答案是向Web服务发出请求!你做的任何其他事情都会告诉你,你是否可以与某个特定主持人或其他人交谈,但这并不是你真正关心的事情......你关心的是你是否可以与那个特定的网络服务交谈。对于您的应用程序而言,正在关闭的Web服务相当于互联网停机。

找到一个廉价无害的请求,您可以将其作为测试呼叫,并使用它。当然,仅仅因为你有一个连接现在并不意味着你将在几分钟内拥有一个...所以你仍然应该确保你的应用程序实际上不会崩溃连接消失了。这应该是你的第一优先IMO:让它优雅地失败。

答案 1 :(得分:1)

我找到了以下解决方案

NetworkChange.NetworkAddressChanged += (sender, e) =>
{
   if (NetworkInterface.GetIsNetworkAvailable())
   {
       // network available
   }
   else
   {  
       // network is not available
   }
}

proof link