a.aspx文件如何访问b.aspx文件的session值?
请教啊:
b.aspx文件输出SESSION值
string uid = "x";
if (HttpContext.Current.Session["luid"] != null)
{
uid = HttpContext.Current.Session["luid"].ToString();
}
Response.Write(uid);
Response.End();
a.aspx文件通过HttpWebRequest访问b.aspx,取得SESSION值(uid)
HttpWebRequest request = null;
request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false;
request.Accept = "*/*";
request.Headers.Add("Accept-Language", "zh-cn");
request.Headers.Add("Accept-Encoding", "gzip, deflate");
request.Headers.Add("x-flash-version", "10,1,85,3");
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)";
request.ContentType = "application/x-www-form-urlencoded";
request.KeepAlive = true;
request.CookieContainer = cookieContainer;
request.Method = "GET";
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader readStream = new StreamReader(responseStream, Encoding.UTF8);
retext = readStream.ReadToEnd();
readStream.Close();
response.Close();
responseStream.Close();
但是一直是x,取不到,请高手指导,谢谢!
[解决办法]
因为客户端请求,不带上cookie,每次都会新建一个会话。所以HttpContext.Current.Session["luid"]永远是null。
[解决办法]
SESSION的值是保存在服务器端的,与本地cookies通过SessionID关联
[解决办法]
//a页面
protected void Page_Load(object sender, EventArgs e)
{
session["uid"]="xxx";
}
//b页面
protected void Page_Load(object sender, EventArgs e)
{
string uid=session["uid"].ToString();
Response.Write(uid);
Response.Close();
}
[解决办法]
一个使用 http 的服务,跟其它的服务一样,使用比较公认的自定义协议来认证登录和保证随后的通讯。而如果你套用刚学asp.net网页时的一两个例子程序,随意扩展,那么肯定做不了这种设计。
[解决办法]
改成COOKIE或URL传参判断..
话说这问题我感觉碰到过 但忘记怎么解决了
[解决办法]
通过密令令牌的实现,类似QQ一键登陆到QQ空间
http://www.cnblogs.com/wenanry/archive/2009/08/06/1540777.html
[解决办法]
认证什么?你的flash是否是嵌在asp.net页面上的,具人了解,flash上传文件 ,会让你提供一个接收文件流的页面,那么你要在页面认证什么呢?
[解决办法]
request.CookieContainer = cookieContainer;
这句cookieContainer 里的 session cookie 估计没带上。
服务器是根据你传来的 cookie,通过cookie 来知道你的session存放在内存的哪块。
第一次访问 a.aspx,估计会得到类似cookie: Asp.net_Sessionid=xxxxx.
再次访问b.aspx,必须带上刚才的cookie,才能当成同一个会话。