CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

asp.net和asp的session的值不通用的,那怎样实现asp.net与asp的会话?请大虾指教

楼主charles036(袁业辉)2005-07-02 10:20:42 在 .NET技术 / ASP.NET 提问

asp.net和asp的session的值不通用的,那怎样实现asp.net与asp的会话?请大虾指教 问题点数:20、回复次数:5Top

1 楼sukaru(逍遥子)回复于 2005-07-02 17:03:14 得分 10

看看这个   http://www.msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ConvertToASPNET.asp  
   
  在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。    
   
  登录页面使用C#重新创建,在成功登录后执行语句:  
   
  Response.Write("<script   language='javascript'>window.open('ASPXTOASP.aspx','new');</script>");  
   
  打开aspxtoasp.aspx页面,action设为aspxtoasp.asp,即可将session值post到asp页面,因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!  
   
   
  Aspxtoasp.aspx代码如下:  
   
  <script   language="C#"   runat="server">  
   
   
  Response.Write(   "<form   name=t   id=t   action=ASPXTOASP.asp   method=post>"   );  
   
   
  foreach(object   it   in   Session.Contents)  
   
  {  
   
  Response.Write("<input   type=hidden   name="   +   it.ToString());  
   
  Response.Write(   "   value="   +   Session[it.ToString()].ToString()   +   "   >");  
   
  }  
   
  Response.Write("</FORM>");  
   
  Response.Write("<scr"   +   "ipt>t.submit();</scr"   +   "ipt>");  
   
   
  </script>  
   
   
  Aspxtoasp.asp代码如下:  
   
  <%  
   
  for   i=1   to   Request.Form.Count    
   
  Session(Request.Form.Key(i))=Request.Form(i)  
   
  next  
   
  Response.End  
   
   
  %>    
   
  <script   language="JavaScript">  
   
  window.close();  
   
  </script>  
   
  Top

2 楼hchxxzx(NET?摸到一点门槛)回复于 2005-07-02 17:10:05 得分 10

ASP与ASP.NET相互之间,是不能共享SESSION的,要解决这个问题,必须从其他角度获得.  
  我说一下关于此问题的简要解决办法.  
   
  虽然两者之间不能共享SESSION,但两者之间的sessionid值是一样的.所以,共享的办法即从此sessionid来.你可以在数据库建立一个表,此表有3个字段,以sessionid为主键,其余两个字段分别为用户ID及用户密码.这样,在NET中创建了用户session以后,把该用户的sessionid及其他信息写到数据库中,当页面转到asp页面时,即可用当前用户的sessionid,至数据库求取此sessionid所属的记录,并根据求取到的用户ID及密码,创建该用户的session信息.  
  为实现此目的,你必须在每个页面中(所有asp与asp.net页面),判断当前用户是否已登录,如否,则取sessionid值至数据库中查询有否记录,如有,则创建信息.      
  Top

3 楼renyu732(Sysinfo)回复于 2005-07-02 17:17:44 得分 0

http://www.microsoft.com/china/MSDN/library/WebServices/ASP.NET/HowtoShareSessionStateBetweenClassicASPandASP.NET.mspx#EKAATop

4 楼renyu732(Sysinfo)回复于 2005-07-02 17:19:15 得分 0

讨论如何利用   Microsoft   .NET   框架类和   .NET   框架的序列化特性,以便在传统   ASP   和   Microsoft   ASP.NET   之间共享会话状态。通过共享会话状态,就允许在并行运行现有的   ASP   应用程序和   ASP.NET   应用程序的同时,分阶段地将   ASP   应用程序转换为   ASP.NET   应用程序。Top

5 楼charles036(袁业辉)回复于 2005-07-03 23:33:25 得分 0

能传过去之外,还要考虑到安全性,用form传,session就可以在源文件里看到,用数据库不时时,假使我不在.net中登陆,直接打asp的页面,数据库没更新,也是可以登陆进去的,有没有更好的办法?Top

相关问题

  • .net的session和asp的session能不能通用啊?
  • 问个脸红的问题:ASP.NET 和 ASP 的Session不能通用吗?
  • 如何处理一个站点不同Web应用通用Session值的问题
  • asp.net和asp的session值如何交互?
  • ASP和ASP.NET如何共享SESSION值
  • asp.net如何与asp共享session值?
  • 如何用ASP实现通用条件查询模块
  • 如何用ASP类实现通用页面读写数据库
  • ASP + MS SQL 高效分页通用方法
  • 通用型字段的空值是什么,如何用代码给通用型字段设空值?

关键词

  • .net
  • asp.net
  • 页面
  • 数据库
  • 应用程序
  • 用户
  • asp
  • 信息
  • microsoft
  • 值

得分解答快速导航

  • 帖主:charles036
  • sukaru
  • hchxxzx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo