日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

把ASP应用中的Session传递给asp.net应用

發布時間:2023/12/13 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 把ASP应用中的Session传递给asp.net应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ASP.NET APPLICATION要使用原來的ASP用戶系統,于是問題出現了,ASP APPLICATION怎樣才能讓用戶登錄的狀態及用戶信息在ASP.NET中依然有效呢。于是我們考慮用構造FORM來自動提交傳遞ASP應用中的Session變量。
例子如下
ASP應用URL為http://127.0.0.1/asp/,并在ASP.NET應用中的web.config設定
? <!--設定ASP應用的URL-->
? <add key="aspURL" value="http://127.0.0.1/asp/" />

在ASP應用中增加兩個ASP頁面system.asp和autoPostForm.asp
<!--system.asp-->
<%
Session("UID")="user"????
session("isPass")="ok"????
Server.Transfer("autoPostForm.asp")
%>

<!--autoPostForm.asp-->
<%
Response.Write("<form name=t id=t action=""http://127.0.0.1/aspdotnet/getSession.aspx""

method=post >")
Response.Write("<input type=hidden name=UID" )
Response.Write( " value=" & Session("UID") & " >")
Response.Write("<input type=hidden name=isPass" )
Response.Write( " value=" & Session("isPass") & " >")
Response.Write("</form>")
Response.Write("<script>t.submit();</script>")
%>

在ASP.net應用中用頁面getSession.aspx來接受傳遞過來的Session變量值

getSession.aspx.cs代碼片段:
private void Page_Load(object sender, System.EventArgs e)
? {
??
? if(!Page.IsPostBack)
? {
?? string aspurl=ConfigurationSettings.AppSettings["aspURL"].Trim();??????
?? try
?? {
??? string fromurl=Request.ServerVariables["HTTP_REFERER"];
????
??? //驗證是否從asp應用中提交過來
??? if(fromurl.StartsWith(aspurl))
??? {
???? string uid=Request["UID"].ToString();
???? string state=Request["isPass"].ToString();
????
???? ?if(uid!="" && state=="ok")
???? ?{
????? ?//表明用戶在asp系統中已登錄成功?
????
???? ?}
?
??? }
??? else
??? {
??? ?Response.Write("<script>alert('非法用戶或未登錄用戶');top.location.href='" + aspurl +

"';</script>");
????
??? }
????
?? }
?? catch
?? {
??? Response.Redirect(aspurl);
?? }

? }
}

當然,上述例子只是為解決特定的問題,如果要寫成通用的,則需要做如下修改
就在autoPostForm.asp使用?

For each sItem in Session.Contents?
Response.Write("<input type=hidden name=" & sItem)?
Response.Write( " value=" & Session.Contents(sitem) & " >")?
next?

而在getSession.aspx頁面用下面的代碼來接受并用同名Session變量保存?

for(int i=0;i<Request.Form.Count;i++)?
{?
Session[Request.Form.GetKey(i)]=Request.Form[i].ToString();?
}?

轉載于:https://www.cnblogs.com/top5/archive/2010/08/06/1794086.html

總結

以上是生活随笔為你收集整理的把ASP应用中的Session传递给asp.net应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。