求助:.net的session究竟怎么玩?

lmy1978 2005-08-17 10:53:29
原来开发的网站是ASP的,后来写了几个程序是ASP.NET(C#)的,要加到原来的网站里面。据我的了解asp和asp.net的session是不可以共享的。
于是我的解决方法是
1:用asp.net写了一个A.ASPX,目的是在asp页面下调用A,并将asp的session同时传给A.ASPX。
我是在asp菜单页面上调用了A.ASPX
%>
<table border=0 >
<tr><td>
<iframe id=hrmframe width="0" height="0" frameborder=0 src="A.ASPX?loginid=<%=session("userid")%>"></iframe>
</td></tr>
</table>
<%
A.ASPX.CS里面的内容如下:
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
string userid="";
Session["userid"]=null;
if(Request.QueryString["loginid"]!=null && Request.QueryString["loginid"]!="")
{
userid=Request.QueryString["loginid"].ToString();
Session["userid"]=userid;
//Response.Write("<script>alert("+userid+")</script>");
}
}
}

2:然后我在其他的asp.net的页面中增加如下判断
private void Page_Load(object sender, System.EventArgs e)
{
if (Session["userid"] == null || Session["userid"].ToString() == "")
{

Response.Redirect("errsms.aspx");
}
else
{
if(!this.IsPostBack)
{
......

}
}
}
问题: 在1步完成时,我确实可以获得.net的session。但是在2时是就有问题了。。
2步问题主要如下:
a.有的时候可以获得session值,有的时候有没有获得session值。
b.某个aspx页面获得session值后,执行了查询等操作后,session值就丢掉了。
c.session不是很稳定的感觉。

请各位帮忙,找一下问题所在或给俺提出一个更好的方法。
3Q!3Q!3Q!3Q!3Q!



...全文
643 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmy1978 2005-09-07
  • 打赏
  • 举报
回复
用Request.QueryString的方法是可以实现了,但传输的字符串需要处理,不然可以通过获取url直接访问页面,安全性不好.
netren2000 2005-08-25
  • 打赏
  • 举报
回复
Session真的不稳定,就算把它的时间设置的过长,不过一会儿就消失了
相对来说,COOKIER算好些,不过恐怕客户端会不支持。
如果是用页面参数方式,那就得随时传递,也不是一个好的方法
建议还是用COOKIER。
-------------------------------------------------------------
session 和Cookie各有各的好处;
session 的使用方法也很多,也很灵活
(可以存储在服务器的进程中,也可以存在单独的服务器中,还可以存在数据库中---)
并且开发时使用方便
netren2000 2005-08-25
  • 打赏
  • 举报
回复
Session真的不稳定,就算把它的时间设置的过长,不过一会儿就消失了
相对来说,COOKIER算好些,不过恐怕客户端会不支持。
如果是用页面参数方式,那就得随时传递,也不是一个好的方法
建议还是用COOKIER。
-------------------------------------------------------------
session 和Cookie各有各的好处;
session 的使用方法也很多,也很灵活
(可以存储在服务器的进程中,也可以存在单独的服务器中,还可以存在数据库中---)
并且开发时使用方便
sunnystar365 2005-08-25
  • 打赏
  • 举报
回复
Session真的不稳定,就算把它的时间设置的过长,不过一会儿就消失了
相对来说,COOKIER算好些,不过恐怕客户端会不支持。
如果是用页面参数方式,那就得随时传递,也不是一个好的方法
建议还是用COOKIER。
iceqings 2005-08-25
  • 打赏
  • 举报
回复
Session会过期啊!

Cookie也会被客户端修改,删除。

所以最好使用页面参数方式,进行传递。

hackate 2005-08-25
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/TopicView.asp?id=3561164

这里看看吧
brando_beat 2005-08-25
  • 打赏
  • 举报
回复
呵呵、session不稳定的帖子太多了、本身vs.net的session就有问题。
你可以使用cookie啊。cookie可以通用啊。
whispers 2005-08-25
  • 打赏
  • 举报
回复
把session赋URL 用Request.QueryString应该不会丢
lmy1978 2005-08-25
  • 打赏
  • 举报
回复
是我的问题太难,还是什么原因,怎么没有人回帖呢?

郁闷,郁闷,郁闷ing!
yeskele 2005-08-25
  • 打赏
  • 举报
回复
asp和aspx中的session好像不能通用呢。。。
不知道樓主怎麽做到的
hchxxzx 2005-08-25
  • 打赏
  • 举报
回复
重点检查你服务器上的防毒软件及防火墙
netren2000 2005-08-25
  • 打赏
  • 举报
回复
怎么输了两遍???

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧