原来开发的网站是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!
 

                 
          

posted on 2005-08-17 11:25  花光月影  阅读(1890)  评论(2编辑  收藏  举报