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上运行调用时,我每次都得到正确的设备,但使用我的方法,它只能在第一次获得与第一次调用相同的响应之前第一次工作。
好了,我需要添加
getrequest.Headers["Cache-Control"] = "no-cache";
设置缓存控制解决了我的问题。谢谢Jasen。