我想在我的程序中创建一个简单的自动更新系统。它工作正常,但我希望它只在用户连接到互联网时才能继续。
我尝试了很多方法,每个方法都有效,但是当我与互联网断开连接时,应用程序加载的时间大约是10秒,这实在是太慢了。我的程序检查加载时的更新,连接测试也是如此,我认为这是问题所在,因为如果我在单击按钮内运行测试,即使你从互联网断开连接,它也会非常快速地加载。
如果您好奇,我尝试使用我找到的每个连接测试,包括System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();
。
答案 0 :(得分:2)
您的问题是检查连接是否超时。当有连接时,它发现非常快(通常)并且您没有注意到延迟。如果您没有连接,则必须进行更多检查并等待响应。我无论如何都无法调整超时,即使您可以冒险也不会检测连接,即使它们可用。
您应该在单独的线程上运行检查,以便您的GUI加载不会中断。
答案 1 :(得分:1)
不是在启动时检查,而是在应用程序运行时检查后台线程,然后更新。任何检查连接的解决方案即使互联网启动,如果存在DNS问题或只是一般的缓慢,也会有延迟。