【问题标题】:Why GET method called one after another replicates first answer?为什么一个接一个地调用 GET 方法会复制第一个答案?
【发布时间】:2013-09-06 20:02:02
【问题描述】:

我对 Windows Phone 上的 Get 方法有疑问。当我执行 Get 方法时,我收到了一些答案,然后我执行了 post 方法,该方法更改了 get 方法的答案,然后我再次检查 get 方法,但它仍然给了我与第一次 Get 相同的答案(不知何故它一直在复制从第一种方法得到答案)。 怎么改?

Get 方法示例代码:

        HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(URLS.host);
        wr.Method = "GET";
        wr.CookieContainer = cookieContainer;
        wr.BeginGetResponse(new AsyncCallback(GetRequestStreamCallbackListaStrategii), wr);

【问题讨论】:

    标签: windows-phone-7 get


    【解决方案1】:

    这听起来像是一个缓存问题。假设您无法控制或不想更改服务器端响应,您可以尝试在每次调用时添加一个随机查询字符串,看看是否可以修复它。例如,将您的 URLS.host 值设置为:

    URLS.host = String.Format("{0}&rnd={1}", URLS.host, Guid.NewGuid().ToString());
    HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(URLS.host);
    

    或者,您可以尝试this post 的解决方案。

    HttpWebRequest request = HttpWebRequest.CreateHttp(url);
    if (request.Headers == null)
    {
       request.Headers = new WebHeaderCollection();
    }
    request.Headers[HttpRequestHeader.IfModifiedSince] = DateTime.UtcNow.ToString();
    

    【讨论】:

      【解决方案2】:

      试试这个:

      wr.Headers["Cache-Control"] = "no-cache";
      wr.Headers["Pragma"] = "no-cache";
      

      【讨论】:

        猜你喜欢
        • 2016-03-31
        • 1970-01-01
        • 1970-01-01
        • 2014-12-30
        • 1970-01-01
        • 2020-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多