2014-10-31 20 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