求助:.net的session究竟怎么玩?
原来开发的网站是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!