System.NotSupportedException с WebClient на Windows Phone 7 - PullRequest
0 голосов
/ 02 сентября 2011

У меня возникла небольшая проблема с использованием WebClient на Windows Phone 7. В настоящее время я пытаюсь использовать его, загружая файл в строку, чтобы я мог проанализировать строку с помощью JSON.NET.К сожалению, я даже пока не могу получить файл в строку.Вот мой код:

private void GetFileAsString()
{
    var client = new WebClient();
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(sClient_DownloadStringCompleted);  
    client.DownloadStringAsync(new Uri(searchData.searchurl, UriKind.Relative));
}
private void sClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    if (e.Error == null)
    {
        textBlock1.Text = e.Result;
    }
    else
    {
        textBlock1.Text = e.Error.ToString();
    }
}

А вот снимок экрана с ошибкой, которую я получаю: http://k.min.us/jzvIAYJ18uQbV.png

Я смотрел в Интернете совсем немного и не могу найтиРешение этой проблемы, в том числе в предыдущих постах на этом сайте.Любая помощь здесь с благодарностью!

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

Вам необходимо правильно установить BaseAddress свойство в вашем экземпляре WebClient, когда вы используете UriKind.Relative, в качестве альтернативы просто используйте абсолютное Uri - в противном случае оно пытается использовать источник вашего xap Uri ...

0 голосов
/ 02 сентября 2011

Документация MSDN предлагает две возможные проблемы, с которыми вы можете столкнуться. Вы не дали нам достаточно информации, чтобы сказать наверняка.

http://msdn.microsoft.com/en-us/library/ms144202(v=VS.95).aspx

Этот метод извлекает указанный ресурс, используя метод GET. ресурс загружается асинхронно. Когда загрузка будет завершена, событие DownloadStringCompleted возникает. Загруженная строка доступно в свойстве Result DownloadStringCompletedEventArgs. Вы не можете позвонить Метод DownloadStringAsync снова для того же объекта WebClient, пока первая операция загрузки строки завершена. Это вызывает исключение.

Если свойство BaseAddress не является пустой строкой и адрес не содержит абсолютный URI, адрес должен быть относительный URI, который объединяется с BaseAddress для формирования абсолютного URI запрашиваемых данных.

...