C# GET WebRequest提供与前一个调用相同的响应
我有一个方法可以为某个用户获取设备。当我为UserA运行一次它时,我得到UserA的设备,但当我为UserB再次运行它时,我得到UserA的设备C# GET WebRequest提供与前一个调用相同的响应,c#,.net,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["Authorizati
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;
获取访问令牌以确保用户确实已更改。(不同的访问令牌=不同的用户)
当我使用每个用户的访问令牌在邮递员上运行呼叫时,我每次都会得到正确的设备,但使用我的方法,它只在第一次收到与第一次呼叫相同的响应之前起作用。好的,我得到了,我需要添加
getrequest.Headers["Cache-Control"] = "no-cache";
设置缓存控件修复了我的问题。
谢谢Jasen。标题是否显示缓存的证据?我没有对缓存做任何处理