2010-07-01 95 views
2

我正在編寫一個Silverlight 4應用程序,並希望檢查何時打開已安裝的瀏覽器應用程序,是否有有效的Internet連接(然後從我的網站下載一些數據)。做這個的最好方式是什麼?我意識到我可以嘗試圍繞WebRequest進行嘗試,但對我來說這看起來有點難以理解。在Silverlight中檢查互聯網連接

編輯:我通過有效的互聯網連接意味着僅僅是連接到互聯網

+0

下面回答你的問題嗎? – 2010-09-24 17:59:09

回答

3

到底什麼是有效的互聯網連接?如果您想檢查是否有能力從您的網站下載數據,請檢查您是否可以從您的網站下載數據。將try/catch塊放在可能因爲超出程序控制範圍的原因而失敗的東西上並沒有什麼特別的含義。這正是我會做的。

客戶端是「連接到Internet」並不一定意味着網站提供服務所需的數據。這是唯一有效的測試。

3

有一個類叫做NetworkInterface,可以這樣做。

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

現在這不能保證總是確定是否有互聯網連接不是,這取決於代理設置和其他變量。

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

+4

請注意,這並不會告訴你有關「Internet」可用的任何信息。它所做的只是表明系統上有一個非回送網絡接口。它可以代表一個局域唯一的令牌環適配器,或者它可以是一個計算機到計算機的串行連接或十幾個其他的東西。 – 2010-07-01 15:28:37