2014-10-31 19 views
0

我想在我的程序中创建一个简单的自动更新系统。它工作正常,但我希望它只在用户连接到互联网时才能继续。检查互联网连接是否会降低断开连接时的加载速度

我尝试了很多方法,每一个都有效,但是当我从互联网上断开连接时,直到应用程序加载的时间大约是10秒,这非常慢。我的程序会检查加载更新,连接测试也会如此,我认为这是问题所在,因为如果我在点击按钮的内部运行测试,即使您从Internet断开连接,加载速度也会非常快。

如果您好奇,我试图使用我发现的每个连接测试,包括System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();

+0

那么,如果你不先检查会发生什么? – 2014-10-31 21:43:00

回答

2

您的问题是检查连接是否有超时。当有连接时,它会发现非常快(通常),并且您没有注意到延迟。当你没有连接时,它必须做更多的检查并等待响应。我仍然没有看到调整超时时间,即使您可能会冒险也不检测连接,即使它们可用。

您应该在单独的线程上运行检查,以便您的GUI加载不会中断。

+0

非常感谢你,我被困在这个地方2个小时,非常简单。我现在感觉有点笨拙.. – 2014-10-31 22:04:01

1

不是在启动时检查,而是在应用程序正在运行时检查后台线程,然后进行更新。任何检查连接的解决方案都可能会延迟,即使互联网启动,DNS出现问题或普遍缓慢。

+0

非常感谢,我被困在这一点上2个小时,而且非常简单。我现在觉得有点笨。 – 2014-10-31 22:05:42