我有一个非常奇怪的问题。我必须做一些非常明显的错误,但我看不到它。我正在构建一个目前在模拟器中运行的wp7应用程序。
我有一个返回JSON的URL。我在浏览器中访问此URL并验证其是否有效。
我使用WebClient
在Silverlight中从此网址获取数据。当我得到结果时,它都是一样的 - 除了一个JSON字段消失了。
这怎么可能?我不确定我做错了什么。什么可能导致JSON在Web浏览器中查看的方式与wp7模拟器中的WebClient
结果之间的不一致?
以下是代码:
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);
// ...
}
我可能做错了什么?
答案 0 :(得分:0)
你能在像Fiddler这样的工具中捕获请求/响应(来自浏览器和Silverlight)并进行比较吗?具体来说,请注意请求中HTTP标头的任何差异。
然后(如果您正在使用Fiddler),您可以通过逐个调整标题来调整Silverlight请求,使其看起来像浏览器请求,直到找到产生差异的那个。