1

オンライン接続が必要な WP7 アプリを開発しています。mainpage.xaml から任意のページに移動する前に、次を使用して、デバイスがインターネットに接続されているかどうかを確認しています。

isAvailable = NetworkInterface.GetIsNetworkAvailable();

アプリisAvailableは true の場合にのみ続行されます。それ以外の場合は、「Wi-Fi 接続を確認してください」というポップアップが表示されます。

質問: 最初はアプリがインターネットに接続されていますが、アプリの使用中にインターネット接続が失われた場合、最初の確認後にどのように対処すればよいですか?

isAvailable = NetworkInterface.GetIsNetworkAvailable();すべてのページの読み込み時またはすべてのサービス呼び出しの前に確認する必要がありますか? これを実装するより良い方法はありますか?

4

3 に答える 3

5

DeviceNetworkInformation.NetworkAvailabilityChanged イベントにフックする必要があります。これにより、ネットワークの可用性が変化したときにアプリケーションに通知できるようになり、サービス呼び出しを実行するたびに確認する必要がなくなります:-

http://msdn.microsoft.com/en-us/library/microsoft.phone.net.networkinformation.devicenetworkinformation.networkavailabilitychanged(v=vs.92).aspx

于 2012-05-16T08:32:48.170 に答える
2

すべてのページで NetworkInterface.GetIsNetworkAvailable をチェックしても意味がありません。ユーザーがインターネットに接続していても、Web 要求は失敗する可能性があり、実際にはかなり頻繁に発生します。すべてのエラー ケースを確実に処理し、自動または使いやすい再試行メカニズムを提供し、接続に問題があるためにアクションを完了できないことをユーザーに通知するようにしてください。

于 2012-05-16T07:08:10.463 に答える
-2
using Microsoft.Phone.Net.NetworkInformation;

public MainPage()

    {
        InitializeComponent();

        if (NetworkInterface.GetIsNetworkAvailable())
        {
           // Use navigation method here
        }
        else

           MessageBox.Show("Need net connection");
于 2012-05-16T07:16:45.913 に答える