我现在所遇到问题是A用户登录后,B用户随后登录,A用户所得到的数据都是B用户的,如果C用户再登录,A和B用户看到的数据都是C的。反正是被覆盖的。不能同时查询对应自己的数据。
我想要用户各自查询自己的信息,我尝试过Session\cookie\URL参数都是不行阿。
请牛人解决此问题。
以下是代码:
private string GetWeb(string url, string method, string data)
{
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.KeepAlive = true;
req.Method = method.ToUpper();
req.AllowAutoRedirect = true;
req.CookieContainer = CookieContainers;
req.ContentType = "application/x-www-form-urlencoded";
req.UserAgent = IE7;
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
req.Timeout = 50000;
if (Request.QueryString["g"] !=null)
{
sburl = Request.QueryString["g"].ToString();
req.Headers.Add("Cookie: " + sburl);
}
if (sburl=="")
{
//JSESSIONID=BvLRT80KcnKhgwvG0PyPCf512hpZnf1RJpTQG23XHQN9PPRxh6G1!650146923
sburl =req.CookieContainer.GetCookieHeader(req.RequestUri);
sburl = sburl.Replace("JSESSIONID=", "");
}
if (method.ToUpper() == "POST" && data != null)
{
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] postBytes = encoding.GetBytes(data); ;
req.ContentLength = postBytes.Length;
Stream st = req.GetRequestStream();
st.Write(postBytes, 0, postBytes.Length);
st.Close();
}
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream resst = res.GetResponseStream();
StreamReader sr = new StreamReader(resst, Encoding.Default);
string str = sr.ReadToEnd();
return str;
}
catch (Exception)
{
return string.Empty;
}
所获得的SESSIONID一直一样。我在本地测试,重新运行才会变动
13 个解决方案
#1
帮我看看我的问题吧
#2
帮我看看我的问题吧
#3
你的代码里也没用SESSION啊
#4
问题问的不清楚,所谓的用户登录是指登录你的网站还是指你内部登录XX网站获得的JSESSIONID
#5
CookieContainers 应该按用户隔离开
#6
CookieContainers 应该按用户隔离开,不是的。
#7
用户 内部登录XX网站获得的JSESSIONID
#8
不是就冲突了
#9
不是就冲突了 CookieContainers 应该按用户隔离开,不是的。
CookieContainers 应该按用户隔离开
请问你是怎么隔开呢?求看代码
#10
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#11
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#12
sessionid都是一样的啊
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#13
sessionid都是一样的啊
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
用户同时登录,获取都是一样的sessionid,所以怎么解决?同一个SESSIONID是在同一个机子上的原因。
我现在是用户操作一次,重新登录一次,再获取数据。
#1
帮我看看我的问题吧
#2
帮我看看我的问题吧
#3
你的代码里也没用SESSION啊
#4
问题问的不清楚,所谓的用户登录是指登录你的网站还是指你内部登录XX网站获得的JSESSIONID
#5
CookieContainers 应该按用户隔离开
#6
CookieContainers 应该按用户隔离开
#7
问题问的不清楚,所谓的用户登录是指登录你的网站还是指你内部登录XX网站获得的JSESSIONID
用户 内部登录XX网站获得的JSESSIONID
#8
CookieContainers 应该按用户隔离开,不是的。
CookieContainers 应该按用户隔离开
#9
不是就冲突了 CookieContainers 应该按用户隔离开,不是的。
CookieContainers 应该按用户隔离开
请问你是怎么隔开呢?求看代码
#10
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#11
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#12
sessionid都是一样的啊
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
#13
sessionid都是一样的啊
申明1个Cookie的字典 name 根据当前用户的sessionid也要,自己 啥也要 只要能确认某个用户,把cookie存字典里,取的时候根据id去取cookie
用户同时登录,获取都是一样的sessionid,所以怎么解决?同一个SESSIONID是在同一个机子上的原因。
我现在是用户操作一次,重新登录一次,再获取数据。