首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

a.aspx文件怎么访问b.aspx文件的session值

2013-12-10 
a.aspx文件如何访问b.aspx文件的session值?请教啊:b.aspx文件输出SESSION值string uid xif (HttpCont

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传参判断..
话说这问题我感觉碰到过 但忘记怎么解决了 
[解决办法]
引用:
其实我是通过flash上传文件,后端asp.net做认证权限判断,但是flash上传到后端无法取到session,才考虑通过httpwebrequest来模拟取session。还望指导,谢谢!


通过密令令牌的实现,类似QQ一键登陆到QQ空间

http://www.cnblogs.com/wenanry/archive/2009/08/06/1540777.html
[解决办法]


引用:
其实我是通过flash上传文件,后端asp.net做认证权限判断,但是flash上传到后端无法取到session,才考虑通过httpwebrequest来模拟取session。还望指导,谢谢!


认证什么?你的flash是否是嵌在asp.net页面上的,具人了解,flash上传文件 ,会让你提供一个接收文件流的页面,那么你要在页面认证什么呢?
[解决办法]
request.CookieContainer = cookieContainer;

这句cookieContainer 里的  session cookie 估计没带上。


服务器是根据你传来的 cookie,通过cookie 来知道你的session存放在内存的哪块。

第一次访问 a.aspx,估计会得到类似cookie: Asp.net_Sessionid=xxxxx.
再次访问b.aspx,必须带上刚才的cookie,才能当成同一个会话。

热点排行