2012-03-13 84 views
0

我得到了一个Windows Phone项目,该项目正在获取我使用REST从webservice呼叫朋友的对象列表。整个连接部分第一次运行良好,第二次运行失败。即使我更改数据库中的值,我也会从方法中获得相同的值。这是一个例子。Windows Phone REST呼叫问题

  • 用户进入一个页面
  • 权值使用WCF服务
  • 我在数据库中更改数值手动
  • 用户进入页面再次和方法是从数据库中提取获取数据会再次启动,但它仍然会获得与第一次从Web服务中获取数据相同的结果。

任何想法?

代码:

HttpWebRequest request; 

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     UpdateData(); 
    } 

    public void UpdateData() 
    { 
     ((App)App.Current).ShowProgressBar(); 
     string uri = App.SERVICE_URI + "/GetFriends?userid=" + App.CurrentUserId; 
     request = (HttpWebRequest)HttpWebRequest.Create(new Uri(uri)); 
     request.BeginGetResponse(new AsyncCallback(GetFriendsReadCallback), request); 
    } 

    private void GetFriendsReadCallback(IAsyncResult asynchronousResult) 
    { 
     List<Friend> friends; 
     HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; 
     HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); 
     using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) 
     { 
      string resultString = streamReader1.ReadToEnd(); 
      var ser = new DataContractJsonSerializer(typeof(List<Friend>)); 
      var stream = new MemoryStream(Encoding.Unicode.GetBytes(resultString)); 
      DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<Friend>)); 
      friends = (List<Friend>)jsonSerializer.ReadObject(stream); 
     } 
+0

可能重复http://stackoverflow.com/questions/9668884/webclient-in-a-wp7- 1-app-called-only-once) – Robaticus 2012-03-13 18:19:22

回答

3

您很可能遇到了缓存问题。要么改变你的REST服务禁用缓存:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 

如果您没有访问到服务代码,可以追加一个改变虚拟参数对您的请求的URL的结尾(例如GUID或DateTime.Now .Ticks)。

看看我的答案在这里:WebClient in a WP7.1 app called only once

[Web客户端在WP7.1应用程序调用一次(的
1

我与fiddler2操作模拟器中运行这个 - 检查正在通过HTTP发送什么ID,以找出是否呼叫正在进行第二次,如果正确答案是被送回。一旦你知道问题是客户端还是服务器端,那么使用断点开始调试 - 哪里错误的值首先被找到。

+0

我使用其他REST WCF测试客户端测试了Web服务,即使我改变了尝试之间的值,我也像魅力一样工作。 – parek 2012-03-13 18:21:11