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

本文关键字:调用 一次 响应 WebRequest GET | 更新日期: 2023-09-27 18:05:07

我有一个获取特定用户设备的方法。当我为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上运行调用时,我每次都得到正确的设备,但使用我的方法,它只能在第一次获得与第一次调用相同的响应之前第一次工作。

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

好了,我需要添加

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

设置缓存控制解决了我的问题。谢谢Jasen。