把ASP应用中的Session传递给asp.net应用
2004-09-10 13:54
393 查看
最近做一个业务处理系统,因为它原有的用户系统使用ASP开发,在新的业务系统中使用了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);
}
}
}
例子如下
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);
}
}
}
相关文章推荐
- 把ASP应用中的Session传递给asp.net应用
- 把ASP应用中的Session传递给asp.net应用
- Asp.net中处理一个站点不同Web应用共享Session的问题
- ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie
- ASP.NET下跨应用共享Session和使用Redis进行Session托管
- asp.net session的应用
- Asp.net Session 与Cookie的应用
- 在两个ASP.NET页面之间传递值[querystring,session,server.Transfer]
- Asp.net跨网站传递Session
- asp.net中利用session对象传递、共享数据[session用法]
- Asp.net跨网站传递Session
- asp.net session的应用
- asp.net session的应用
- [转]asp.net中session的原理及应用
- Asp.net中处理一个站点不同Web应用共享Session的问题
- Asp.net中处理一个站点不同Web应用共享Session的问题
- Asp.NET应用thickbox.js传递参数,后台请求不到的问题
- ASP.NET中实现页面间的参数传递 QueryString\Application\Session\Cookie
- 【SignalR+Asp.net高频率实时消息传递应用】
- Asp.net Session 与Cookie的应用