Chinaunix首页 | 论坛 | 博客
  • 博客访问: 16410175
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 14:21:42

下载本文示例代码

如果在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。

登录页面使用C#重新创建,在成功登录后执行语句:

Response.Write("");

打开aspxtoasp.aspx页面,action设为aspxtoasp.asp,即可将session值post到asp页面,因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!

Aspxtoasp.aspx代码如下:

");

Aspxtoasp.asp代码如下:

<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
Response.End
%>

这是一个老话题了,因为最近用的到,所以没办法又到处找资料。微软的网站上提供的是用数据库实现的,总觉得太麻烦,也有说直接使用的,但我没有试成功。我认为直接使用是不可能的。还有一种方法,就是通过几个页面转换,我使用的也是这个方法,通过总结搜索到的资料,整理后编写了几个页面来转换。主要是通过隐藏的input来实现的。具体方法如下:

asp 转 asp.net 页面:

用一个asp页,把session信息写到input中,提交给asp.net页

trans.asp

<%
’’----------测试数据--------
session("name")="srx"
session("id")="1"
session("sex")="f"
session("pass")="asdfas"
session("age")="23"
session("weight")="131"
’’--------------------------
Response.Write("

")
for each Item in Session.Contents
    Response.Write("")
next
if len(Request.QueryString("Destpage")) >4 then  
    Response.Write("")
end if
Response.Write("
")
Response.Write("frm.submit();")
%>

asptoaspx.aspx

<%@ Page language="c#" %>

asp.net 转 asp 页面:

用一个asp.net页,把session信息写到input中,提交给asp页

trans.aspx

<%@ Page language="c#" %>

aspxtoasp.asp

<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
if Len(Session("DestPage")) >4 then
  Response.Redirect(Session("DestPage"))
end if
’----------输出所有的Session-------------
call allsession() ’使用时注释掉此行代码即可
function allsession()
Response.Write "There are " & Session.Contents.Count &" Session variables

"
Dim strName, iLoop
For Each strName in Session.Contents’使用For Each循环察看Session.Contents
 If IsArray(Session(strName)) then ’如果Session变量是一个数组? ’循环打印数组的每一个元素
  For iLoop = LBound(Session(strName)) to UBound(Session(strName))
    Response.Write strName & "(" & iLoop & ") - " & _
   Session(strName)(iLoop) & "
"
   Next
 Else ’其他情况,就简单打印变量的值
  Response.Write strName & " - " & Session.Contents(strName) & "
"
 End If
Next
end function
’--------------------------------------------
%>

如果在原有的asp程序中用asp.net添加功能模块,共享SESSIONs是一个难点,下面介绍一种较为简洁的方法,可以在asp和asp.net中共享session会话。

登录页面使用C#重新创建,在成功登录后执行语句:

Response.Write("");

打开aspxtoasp.aspx页面,action设为aspxtoasp.asp,即可将session值post到asp页面,因为是单向传递,不用在其他页面重复执行动作,经测试,传递成功!

Aspxtoasp.aspx代码如下:

");

Aspxtoasp.asp代码如下:

<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
Response.End
%>

这是一个老话题了,因为最近用的到,所以没办法又到处找资料。微软的网站上提供的是用数据库实现的,总觉得太麻烦,也有说直接使用的,但我没有试成功。我认为直接使用是不可能的。还有一种方法,就是通过几个页面转换,我使用的也是这个方法,通过总结搜索到的资料,整理后编写了几个页面来转换。主要是通过隐藏的input来实现的。具体方法如下:

asp 转 asp.net 页面:

用一个asp页,把session信息写到input中,提交给asp.net页

trans.asp

<%
’’----------测试数据--------
session("name")="srx"
session("id")="1"
session("sex")="f"
session("pass")="asdfas"
session("age")="23"
session("weight")="131"
’’--------------------------
Response.Write("

")
for each Item in Session.Contents
    Response.Write("")
next
if len(Request.QueryString("Destpage")) >4 then  
    Response.Write("")
end if
Response.Write("
")
Response.Write("frm.submit();")
%>

asptoaspx.aspx

<%@ Page language="c#" %>

asp.net 转 asp 页面:

用一个asp.net页,把session信息写到input中,提交给asp页

trans.aspx

<%@ Page language="c#" %>

aspxtoasp.asp

<%
for i=1 to Request.Form.Count
Session(Request.Form.Key(i))=Request.Form(i)
next
if Len(Session("DestPage")) >4 then
  Response.Redirect(Session("DestPage"))
end if
’----------输出所有的Session-------------
call allsession() ’使用时注释掉此行代码即可
function allsession()
Response.Write "There are " & Session.Contents.Count &" Session variables

"
Dim strName, iLoop
For Each strName in Session.Contents’使用For Each循环察看Session.Contents
 If IsArray(Session(strName)) then ’如果Session变量是一个数组? ’循环打印数组的每一个元素
  For iLoop = LBound(Session(strName)) to UBound(Session(strName))
    Response.Write strName & "(" & iLoop & ") - " & _
   Session(strName)(iLoop) & "
"
   Next
 Else ’其他情况,就简单打印变量的值
  Response.Write strName & " - " & Session.Contents(strName) & "
"
 End If
Next
end function
’--------------------------------------------
%>

下载本文示例代码


ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法ASP和ASP.Net共享Session的解决方法
阅读(213) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~