GET WebRequest给出与之前调用相同的响应

时间:2015-07-28 18:37:21

标签: c# .net

我有一种获取特定用户设备的方法。当我为UserA运行一次时,我得到了UserA的设备,但当我再次为UserB运行时,我得到UserA的设备。

Uri url = new Uri("https://stuff.com/otherstuff/api/devices");
HttpWebRequest getrequest = WebRequest.CreateHttp(url);
getrequest.Method = "GET";
getrequest.Headers["Authorization"] = "Bearer " + stringaccessToken;
string data = "";
try
{
    using (WebResponse getresponse = await getrequest.GetResponseAsync())
    {
        using (Stream responseStream = getresponse.GetResponseStream())
        {
            using (StreamReader reader = new StreamReader(responseStream))
            {
                data = await reader.ReadToEndAsync();
                reader.Close();
            }
            responseStream.Close();
        }
        getresponse.Close();
    }
}
catch (WebException ex)
{
    data = ex.Message;
}
textBlock.Text = data;

我在

处有一个断点
getrequest.Headers["Authorization"] = "Bearer " + stringaccessToken;

获取访问令牌以确保用户确实已更改。 (不同的访问令牌=不同的用户)

当我使用每个用户的访问令牌在Postman上运行调用时,我每次都会获得正确的设备,但是使用我的方法它只能在第一次调用之前获得相同的响应。

1 个答案:

答案 0 :(得分:2)

好的我明白了,我需要添加

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

设置Cache-Control解决了我的问题。 谢谢Jasen。