怎样实现asp和asp.net session共享

怎样实现asp和asp.net session共享,第1张

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

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

程序代码

ResponseWrite("<script language='javascript'>windowopen('ASPXTOASPaspx','new');</script>");

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

Aspxtoaspaspx代码如下:

程序代码

<script language="C#" runat="server">

ResponseWrite( "<form name=t id=t action=ASPXTOASPasp method=post>" );

foreach(object it in SessionContents)

{

ResponseWrite("<input type=hidden name=" + itToString());

ResponseWrite( " value=" + Session[itToString()]ToString() + " >");

}

ResponseWrite("</FORM>");

ResponseWrite("<script>tsubmit();</script>");

</script>

Aspxtoaspasp代码如下:

程序代码

<%

for i=1 to RequestFormCount

Session(RequestFormKey(i))=RequestForm(i)

next

ResponseEnd

%>

<script language="JavaScript">

windowclose();

</script>

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

asp 转 aspnet 页面:

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

transasp

程序代码

<%

’’----------测试数据--------

session("name")="srx"

session("id")="1"

session("sex")="f"

session("pass")="asdfas"

session("age")="23"

session("weight")="131"

’’--------------------------

ResponseWrite("<form name=frm id=frm action=""asptoaspxaspx"" method=post >")

for each Item in SessionContents

ResponseWrite("<input type=hidden name=" & Item)

ResponseWrite( " value=" & Session(item) & " >")

next

if len(RequestQueryString("Destpage")) >4 then

ResponseWrite("<input type=hidden name=DestPage value=" & Requestquerystring("DestPage") & ">")

end if

ResponseWrite("</FORM>")

ResponseWrite("<scr" + "ipt>frmsubmit();</scr" + "ipt>")

%>

asptoaspxaspx

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

<script language=C# runat=server>

private void Page_Load(object sender, SystemEventArgs e)

{

SessionTimeout = 60;

for(int i=0;i<RequestFormCount;i++)

{

Session[RequestFormGetKey(i)]=RequestForm[i]ToString();

}

allsession(); //输出所有的Session,使用时可注释掉

try

{

if( Session["DestPage"]ToString()Length >4 )

{

ServerTransfer(Session["DestPage"]ToString(),true);

}

}

catch {}

}

private void allsession()

{

ResponseWrite ("There are " + SessionContentsCount +" Session <I>var</I>iables<P>");

foreach(object obj in SessionContents)

{

ResponseWrite("Session["+objToString()+"] - "+Session[objToString()]ToString()+"<br>");//输出所有的Session,使用时可注释掉

}

}

</script>

aspnet 转 asp 页面:

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

transaspx

程序代码

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

<script language=C# runat=server>

private void Page_Load(object sender, SystemEventArgs e)

{

// ----------测试数据---------

Session["name"] = "srx";

Session["sex"]="F";

//----------------------------

ResponseWrite("<form name=frm id=frm action=aspxtoaspasp method=post>");

foreach(object obj in SessionContents)

{

ResponseWrite("<input type=hidden name=’"+objToString()+"’");

ResponseWrite(" value = ’"+Session[objToString()]ToString()+"’>");

}

try

{

if(RequestQueryString["DestPage"]ToString()Length > 4 )

{

ResponseWrite("<input type=hidden name=’DestPage’");

ResponseWrite(" value = ’"+RequestQueryString["DestPage"]ToString()+"’>");

}

}

catch{}

ResponseWrite("</form>");

ResponseWrite("<scr"+"ipt language=’javascript’>frmsubmit();</scr"+"ipt>");

}

</script>

aspxtoaspasp

<%

for i=1 to RequestFormCount

Session(RequestFormKey(i))=RequestForm(i)

next

if Len(Session("DestPage")) >4 then

ResponseRedirect(Session("DestPage"))

end if

’-----------------------输出所有的Session------------------------------------------------

call allsession() ’使用时注释掉此行代码即可

function allsession()

ResponseWrite "There are " & SessionContentsCount &" Session <I>var</I>iables<P>"

Dim strName, iLoop

For Each strName in SessionContents’使用For Each循环察看SessionContents

If IsArray(Session(strName)) then ’如果Session变量是一个数组 ’循环打印数组的每一个元素

For iLoop = LBound(Session(strName)) to UBound(Session(strName))

ResponseWrite strName & "(" & iLoop & ") - " & _

Session(strName)(iLoop) & "<BR>"

Next

Else ’其他情况,就简单打印变量的值

ResponseWrite strName & " - " & SessionContents(strName) & "<BR>"

End If

Next

end function

’------------------------------------------------------------------------------------------

%>

WebexMeetings使您可以决定可以共享的内容。您可以共享以下内容:

您的整个屏幕

应用程序集,包括Web浏览器和生产力工具

个别文件或档案

多媒体播放器和观众

与台式设备或会议室配对时,您可以共享内容。

以上就是关于怎样实现asp和asp.net session共享全部的内容,包括:怎样实现asp和asp.net session共享、用ipad使用webex可以分享文件吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9521481.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存