2014-02-28 17 views
4

嗨即时在我的Windows 8移动应用程序面临的一个问题。我发送一个请求到服务器使用WebClient拉细节。我有一个随需应变的刷新功能,用户可以刷新细节,只要他想要。我面临的问题是新的细节没有被更新。我已经尝试了一些解决方案,在URL的末尾添加?nocache。但这种解决方案不会帮助我,因为即时通讯实际上通过此网址传递值到服务器,在服务器端处理这些值后,他们会将响应重定向到“http://mysitezz.com/myfolder/files/details546546546546.xml”。所以,如果我追加?nocache我会得到错误的回应。另外我也试过在Webclient中添加标题,但并不工作太如何清除Windows Mobile 8的URL缓存

 WebClient wctrans = new WebClient(); 

// wctrans.Headers[HttpRequestHeader.LastModifiedSince] = DateTime.UtcNow.ToString(); 
    wctrans.DownloadStringCompleted += new DownloadStringCompletedEventHandler(UpdateLocalDB); 
     wctrans.DownloadStringAsync(new Uri(calculatedURL), nextItem.AccountNo); 

有没有什么办法可以解决这个问题?林漂亮的新的Windows Phone应用程序developement.Thanks提前

+0

缓存问题不在服务器上吗? WebClient不应该在设备上缓存任何内容,但服务器可能会缓存响应。 – LDJ

+0

即时通讯在Android和ios中使用相同的web服务,它可以解决任何问题。问题只发生在wp8 – playmaker420

+0

你有没有试图给你的url添加一个随机参数。就像:calculatedURL +“&random =”+ aRandomNumber –

回答

1

我没能解决从客户这个问题side.Finally我不得不迫使服务器团队在它们的最后进行更改。在iOS和Android中,问题发生在

0

按这篇文章C# WebClient disable cache,使用HttpRequest对象,而不是Web客户端

+1

但是OP说它会从他的服务器返回一个错误。所以追加不会工作。 – ASP

+0

@ playmaker420,你试过第二种解决方案吗?这是这样的:WebClient wctrans = new WebClient(); wctrans.Headers [HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString() – KirtiSagar

+0

@KirtiSagar yes请参阅我已添加标题的问题。 wctrans.Headers [HttpRequestHeader.LastModifiedSince] = DateTime.UtcNow.ToString(); wctrans.Headers [HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();试了两个。 – playmaker420