代码之家  ›  专栏  ›  技术社区  ›  Nick Heiner

Silverlight:使用WebClient有困难

  •  0
  • Nick Heiner  · 技术社区  · 15 年前

    我有一个非常奇怪的问题。我一定是做了一件很明显的错事,但我看不出来。我正在构建一个目前在模拟器中运行的WP7应用程序。

    我有一个返回JSON的URL。我在浏览器中访问这个URL并验证它是否有效。

    我在Silverlight中使用 WebClient . 当我得到结果时,一切都是一样的——除了一个JSON字段不见了。

    这怎么可能?我不知道我做错了什么。什么会导致JSON在Web浏览器v.a中的外观不一致? 网络客户端 在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 回复  |  直到 15 年前
        1
  •  0
  •   Eugene Osovetsky    15 年前

    你能在fiddler之类的工具中捕获请求/响应(来自浏览器和Silverlight)并进行比较吗?具体来说,注意请求中HTTP头的任何差异。

    然后(如果您使用的是fiddler),您可以通过逐个调整头来调整Silverlight请求,使其看起来像浏览器请求,直到找到产生差异的请求。