Silverlight: трудности с WebClient - PullRequest
0 голосов
/ 31 октября 2010

У меня действительно странная проблема. Должно быть, я делаю что-то действительно очевидное, что не так, но я не вижу этого. Я создаю приложение wp7, которое в данный момент работает в эмуляторе.

У меня есть URL, который возвращает JSON. Я захожу на этот URL в своем браузере и проверяю, работает ли он.

Я получаю данные с этого URL в Silverlight, используя WebClient. Когда я получаю результат, он все тот же - за исключением того, что одно из полей JSON пропало.

Как это возможно? Я не уверен, что я делаю неправильно. Что может вызвать несоответствия между внешним видом JSON в веб-браузере и результатом WebClient в эмуляторе wp7?

Вот код:

            downloadData(STORIES_URL + vid,
                delegate(object sender, DownloadStringCompletedEventArgs e)
                {
                    data_StoryDownloadCompleted(sender, e, _sectionStories[vid], STORIES_URL + vid);
                });

    static void data_StoryDownloadCompleted(object sender, DownloadStringCompletedEventArgs e, ObservableCollection<Story> results, string uri)
    {
        if (e.Error != null)
        {
            throw e.Error;
        }

        JObject data = JObject.Parse(e.Result);
        // ...
    }

Что я мог делать не так?

1 Ответ

0 голосов
/ 01 ноября 2010

Можете ли вы захватить оба запроса / ответа (из браузера и из Silverlight) в таком инструменте, как Fiddler, и сравнить их? В частности, обратите внимание на разницу в заголовках HTTP в запросах.

Затем (если вы используете Fiddler) вы можете настроить запрос Silverlight, настраивая заголовки один за другим, чтобы он выглядел как запрос браузера, пока не найдете тот, который имеет значение.

...