最近在弄一个Asp.net(1.1)系统(A系统)与一个用asp老系统(B系统)的集成整合,使用同一个数据库,成功整合集成,有点经验。在这里记录下来供有需要的人士大家参考。

       这里面的一个关键就是Session,.net中的Session和asp的session是无法共享(Application也是一样)。A、B系统分别有数据库连接字符串(都是Application变量)和用户ID(都是Session变量)。怎样才能使A系统的数据库连接字符串在B系统中使用呢?首先在asp.net中把数据库连接字符串和用户ID取出存放在客户端<input type="hidden">字段中然后在将其传入传统asp页面,在这里把需要的变量值取出存发至asp的session变量中即可在asp页面中使用。从而达到asp.net和传统asp系统共存的目的。

      

<%@ Page language="c#" Codebehind="Redirect.aspx.cs" AutoEventWireup="false"%>
<input type=hidden name="UserID" value="<%=Session["UserID"].ToString()%>">
<input type=hidden name="Flag" value="<%=Request["Flag"].ToString()%>">
<input type=hidden name="strConnection" value="<%=Application["UDLFilePath"].ToString()%>">
<script language=javascript>
<!--
    if(document.all.Flag.value 
== "1")
        window.location.replace("BBS_Desktop.asp?UserID
="+document.all.UserID.value+"&connection="+document.all.strConnection.value);
    else if(document.all.Flag.value == "
2")
    {
        window.location.replace("BBS_CompanyDesktop.asp?UserID
="+document.all.UserID.value+"&connection="+document.all.strConnection.value);
    }
    else if(document.all.Flag.value == "
3")
        window.location.replace("BBS_Topten.asp?UserID
="+document.all.UserID.value+"&connection="+document.all.strConnection.value);
    else if(document.all.Flag.value == "
4")
        window.location.replace("BBS_ColManageFrame.asp?C
=001009&UserID="+document.all.UserID.value+"&connection="+document.all.strConnection.value);
        
//-->
</script>

     这段代码是连接两个系统的中间层
      
posted @ 2004-12-08 14:22 微醺人生 阅读(1184) 评论(8) 编辑