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应用相关推荐

  1. 在Flex中获取一个屏幕截图(Screenshot)并将其传递给ASP.NET

    By Minidxer | April 26, 2008 在Adobe Flex 3中,你可以通过下面的代码获取任何控件并保存为bitmap图片(需要import "mx.graphics. ...

  2. ASP.NET中文件上传下载方法集合

    asp.net 2008-08-23 21:10:35 阅读0 评论0   字号:大中小 订阅 ASP.NET中文件上传下载方法集合 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给 ...

  3. java变量传递给asp,我应该如何将多个参数传递给ASP.Net Web API GET?

    回答(10) 2 years ago 这个记录标记是什么意思?如果这仅用于记录目的,我将使用GET并禁用所有缓存,因为您要记录此资源的每个查询 . 如果记录标记有另一个目的,POST就是要走的路 . ...

  4. 比较.ASP.NET中Application,Session,Cookie,ViewState和Cache

    在ASP.NET中,有很多种保存信息的内置对象,如:Application,Session,Cookie,ViewState和Cache等.下面分别介绍它们的用法和区别. 方法 信息量大小 作用域和保 ...

  5. Asp.net中文件上传下载的简单实现

    1. 文件下载 在asp.net中,如果想点击某aspx的url实现文件下载只要在其Page_Load函数实现目标url的重定向即可.用下列代码即可实现. Response.Redirect(&quo ...

  6. 【译文】漫谈ASP.NET中的Session

    最近这两天被一个Web Farm环境下的Session处理问题虐得很痛苦,网上到处找解决方案,在无意中翻看到这篇文章,感觉很不错,顺手查了一下,貌似没有现成的译文,于是一咬牙一跺脚把这篇文章翻译出来了 ...

  7. 在ASP.NET中使用Session常见问题集锦

    以下内容来源于: http://blog.csdn.net/cuike519/archive/2005/09/27/490316.aspx 问:为什么Session在有些机器上偶尔会丢失? 答:可能和 ...

  8. ASP.Net中实现上传过程中将文本文件转换成PDF的方法

    iTextSharp是一个常用的PDF库,我们可以使用它来创建.修改PDF文件或对PDF文件进行一些其他额外的操作.本文讲述了如何在上传过程中将文本文件转换成PDF的方法. 基本工作 在开始之前,我们 ...

  9. Asp.net中关于上传文件的各项基本操作

    在常见的B/S模式下企业级架构中上传文件是一个常见业务操作.在.NET 1.1版本是只有对应的客户端HTML版本的Input<Type="File">,在.NET2.0 ...

最新文章

  1. Adam那么棒,为什么还对SGD念念不忘 (2)—— Adam的两宗罪
  2. 客户需求分析8个维度_CRM准确数据分析,把控客户需求
  3. day3-函数参数及调用
  4. shell截取小数等
  5. graphicsmagick 获取图片质量_第 72 期 水稻图片素材
  6. 提示语_交通安全提示语
  7. zabbix安装部署windows_Zabbix监控windows部署安装
  8. BCZM : 1.8
  9. 使用Windows服务发布WCF服务
  10. 数值 转换 成 带千位符的数值,且转成大写
  11. 【机器学习系列】隐马尔科夫模型第三讲:EM算法求解HMM参数
  12. 采集淘宝网的10个经典方法
  13. 搜狗2020秋招笔试的一道算法题
  14. sklearn sklearn中KFold()的具体用法
  15. 在线作图|在线做零模型分析(null model)
  16. excel计算机教学教案,计算机基础教案(EXCEL部分)【精选】
  17. AngularJS之表格设置样式
  18. (十一)fcntl函数的介绍和使用
  19. TFX发展简史/《Towards ML Engineering: A Brief History Of TensorFlow Extended (TFX)》
  20. 如何建设一支理想的CISO团队

热门文章

  1. 《觉建筑》《斑点狗眼里的世界》首发式
  2. java图书管理系统技术难度_Java图书管理系统练习程序(一)
  3. 网络连接异常、网站服务器失去响应_网站常见故障解决办法
  4. Unity 2017 Game Optimization 读书笔记(2)Scripting Strategies Part 2
  5. 虚拟机连接网络_Parallels Desktop 16教程PD16虚拟机共享网络和桥接网络设置方法
  6. spring源码阅读(1/4) - Bean生成
  7. 02、体验Spark shell下RDD编程
  8. WP8.1使用HttpClient类
  9. 动态内存分配及变量存储类别(第二部分)
  10. 新手求大神,有其他swit-case的思路写这个程序么?