Xml 确定internet连接是否可用

Xml 确定internet连接是否可用,xml,visual-studio,windows-phone-7,isolatedstorage,Xml,Visual Studio,Windows Phone 7,Isolatedstorage,)我将一个xml文件从互联网下载到手机内存中。。我想看看是否可以通过internet连接进行下载,如果不能,则发送消息。如果没有,我想看看xml文件是否已经存在于内存中。。如果存在,应用程序不会进行下载 我有以下代码: public MainPage() { InitializeComponent(); WebClient downloader = new WebClient(); Uri xmlUri = new Uri("http

)我将一个xml文件从互联网下载到手机内存中。。我想看看是否可以通过internet连接进行下载,如果不能,则发送消息。如果没有,我想看看xml文件是否已经存在于内存中。。如果存在,应用程序不会进行下载

我有以下代码:

   public MainPage()
    {
        InitializeComponent();
        WebClient downloader = new WebClient();
        Uri xmlUri = new Uri("http://dl.dropbox.com/file_xml.xml", UriKind.Absolute);
        downloader.DownloadStringCompleted += new DownloadStringCompletedEventHandler(Downloaded);
        downloader.DownloadStringAsync(xmlUri);




    }

    void Downloaded(object sender, DownloadStringCompletedEventArgs e)
    {
        if (e.Result == null || e.Error != null)
        {
            MessageBox.Show("There was an error downloading the xml-file");
        }
        else
        {
            IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication();


                using (StreamWriter writeFile = new StreamWriter(new IsolatedStorageFileStream("xml_file.xml", FileMode.Create, FileAccess.Write, myIsolatedStorage)))
                {
                    string xml_file = e.Result.ToString(); 
                    writeFile.WriteLine(xml_file);
                    writeFile.Close();
                }
            }
        }
    }

NetworkInterface.GetIsNetworkAvailable()方法可以告诉您:

using System.Net.NetworkInformation;
...
if (NetworkInterface.GetIsNetworkAvailable())
{
    // do network-bound stuff
}
else
{
    // notify the user that there is no network connection
}

NetworkInterface.GetIsNetworkAvailable()方法可以告诉您:

using System.Net.NetworkInformation;
...
if (NetworkInterface.GetIsNetworkAvailable())
{
    // do network-bound stuff
}
else
{
    // notify the user that there is no network connection
}

什么样的命名方案会导致
GetIsNetworkAvailable()
!?之所以这样称呼是因为结果可能需要30秒(如果我没记错的话)才能做出响应。所以它不是即时的。小心,因为它不是很可靠,如果你通过示例进入地铁站,这种方法可能会在很长一段时间内返回true。什么疯狂的命名方案会导致
GetIsNetworkAvailable()
!?之所以这样称呼是因为结果可能需要30秒(如果我没记错的话)才能做出响应。所以它不是即时的。小心,因为它不是很可靠,如果你通过示例进入地铁站,这种方法可能会在很长一段时间内返回真值。