【问题标题】:How to clear windows mobile 8 url cache如何清除windows mobile 8 url缓存
【发布时间】:2014-04-01 11:52:31
【问题描述】:

嗨,我在我的 Windows 8 移动应用程序中遇到了问题。我正在使用 WebClient 向服务器发送请求以获取详细信息。我在应用程序中提供了按需刷新功能,用户可以随时刷新详细信息想要。我面临的问题是新的细节没有被更新。我已经尝试了一些通过在 url 末尾添加 ?nocache 提到的解决方案。但是这个解决方案对我没有帮助,因为我实际上通过这个 url 传递值服务器,在服务器端处理这些值后,它们会将响应重定向到“http://mysitezz.com/myfolder/files/details546546546546.xml”。所以如果我附加 ?nocache 我会得到错误响应。我也尝试在 Webclient 中添加标题也不起作用

     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 应用程序开发很陌生。在此先感谢

【问题讨论】:

  • 缓存问题不会出在服务器上吗? WebClient 不应该在设备上缓存任何内容,但服务器可能正在缓存响应。
  • 我在 android 和 ios 中也使用相同的 web 服务,没有任何问题。问题仅在 wp8 中发生
  • 您是否尝试将随机参数添加到您的网址。就像:calculatedURL + "&random=" + aRandomNumber
  • 是的,但是我收到错误作为响应。我发送的请求类似于blahblah.com/myfolder/…。如果我在 url 末尾添加任何内容会引发错误,所以我认为追加不会起作用

标签: c# windows-phone-7 windows-phone-8 webclient


【解决方案1】:

我无法从客户端解决这个问题。最后我强迫服务器团队在他们的最后进行更改。实际上问题也发生在 ios 和 android 中

【讨论】:

    【解决方案2】:

    根据本文C# WebClient disable cache ,使用 HttpRequest 对象而不是 WebClient

    【讨论】:

    • 但是 OP 说它会从他的服务器返回一个错误。所以追加是行不通的。
    • @playmaker420,您是否尝试过第二种解决方案?这就是:WebClient wctrans = new WebClient(); wctrans.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString()
    • @KirtiSagar 是的,请查看我添加了标题的问题。 wctrans.Headers[HttpRequestHeader.LastModifiedSince] = DateTime.UtcNow.ToString(); wctrans.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();都试过了。
    • @playmaker420,请尝试上述解决方案,希望对您有所帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 2012-11-12
    • 2011-05-10
    • 1970-01-01
    • 2011-11-04
    • 2017-02-11
    相关资源
    最近更新 更多