日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

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

發(fā)布時間:2023/12/13 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 把ASP应用中的Session传递给asp.net应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ASP.NET APPLICATION要使用原來的ASP用戶系統(tǒng),于是問題出現(xiàn)了,ASP APPLICATION怎樣才能讓用戶登錄的狀態(tài)及用戶信息在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系統(tǒng)中已登錄成功?
????
???? ?}
?
??? }
??? 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应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。