在ASP与ASP.NET之间共享对话状态(2)(2)

时间:2008-09-02 12:21:00 

例程
  例程设计为增加并显示一个数字。不管载入了哪个页面,由于数字值保存在SQL Server中并在ASP和ASP.NET间共享,数字将不断增加。
  建立例程的步骤
  1. 建立一个新数据库SessionDemoDb。
  2. 建立新表SessState(osql.exe -E -d SessionDemoDb -i Session.sql)。
  3. 建立新虚拟目录Demo。
  4. 在ASP配置页中关闭ASP对话。
  5. 将web.config、testPage.aspx、Global.asa、testPage.asp和GlobalInclude.asp复制到虚拟目录。
  6. 更新Global.asa和web.config中的DSN字符串设置。对话超时设置是可选的,默认为20分钟。
  7. 将SessionUtility.dll安装到全局组件缓存(gacutil /i SessionUtility.dll)。
  8. 使用regasm.exe把SessionUtility.dll作为COM对象暴露(regasm.exe SessionUtility.dll /tlb:SessionUtility.tlb)。
  9. 将SessionManager.dll复制到本地目录并使用regsvr32.exe注册(regsvr32 SessionManager.dll)。
  10. 赋予IUSR_<计算机名>帐户读取和运行访问SessionMgr.dll的权限。
  运行例程的步骤
  1. 打开微软Internet Explorer。
  2. 为传统的ASP中载入testPage.asp。数字"1"将出现在Web页中。
  3. 点击Internet Explorer的刷新来重新载入该页面。数字将增加。
  4. 为ASP.NET改变URL为testPage.aspx。数字仍然增加。
  5. 如果使用testPage.aspx开始,过程相同。
  在存在的ASP应用程序中插入COM对象
  开发ASP应用程序的一个通常的习惯是在每个脚本开始时包含一个文件来共享代码和常量。插入自定义对话对象的最后途径是在公有包含文件中加入示例代码。最后一步简单地使用自定义对话变量名代替了所有到对话对象的引用。
  限制/改进
  本方案不支持在Session对象中保存了COM对象的ASP应用程序。在这种情况下,为了使用自定义对话对象,需要一个自定义的调度器来串行化/并行化状态。此外,本方案也不支持保存字符串类型数组。做一些附加工作可以实现该特性:使用Visual Basic 6.0的Join函数在保存到对话对象前将数组元素连接成一个字符串,反向操作可以使用Visual Basic 6.0的Split函数将字符串分解为独立的数组元素。在.NET框架组件中,Join和Split方法使String类的成员。
  结论
  ASP.NET提出了新的编程范例和体系结构,并提供了许多比传统ASP的好处。尽管将ASP移植到ASP.NET的过程不简单,ASP.NET更好的编程模型和更高的性能将使转换过程值得。除了在Session对象中保存COM对象的特例,本文讨论的途径提供了一个简单实现迁移的解决方案。

标签:ASP.NET,SQL,Server,函数
0
投稿

猜你喜欢

  • python中enumerate的用法实例解析

    2023-03-10 19:11:18
  • Python 中的Sympy详细使用

    2021-10-03 03:22:45
  • 详解IDEA git分支回退指定的历史版本

    2022-01-25 16:03:55
  • python实现发送带附件的邮件代码分享

    2021-11-24 12:28:30
  • 网页在IE6中不能打印之谜

    2008-12-12 13:08:00
  • 你凭什么说你的网站用户体验好

    2011-03-31 17:08:00
  • mysql5.7.19 winx64安装配置方法图文教程(win10)

    2024-01-20 20:12:45
  • centos源码编译php5 mcrypt模块步骤详解

    2024-05-08 10:15:34
  • python文件目录操作之os模块

    2023-01-10 14:22:59
  • python抽象基类用法实例分析

    2021-03-04 11:06:25
  • 利用XMLBean轻轻松松读写XML

    2008-09-04 11:25:00
  • python字典get()方法用法分析

    2023-04-01 23:50:41
  • 解决PyTorch与CUDA版本不匹配的问题

    2023-12-20 14:41:15
  • 用Python从零实现贝叶斯分类器的机器学习的教程

    2021-02-21 05:14:27
  • Python基于回溯法子集树模板解决数字组合问题实例

    2022-12-18 15:57:26
  • Python matplotlib读取excel数据并用for循环画多个子图subplot操作

    2021-03-28 19:17:31
  • Python 数据可视化pyecharts的使用详解

    2021-07-07 20:29:55
  • 快速入手Python字符编码

    2022-05-26 00:52:33
  • 微信小程序 scroll-view实现上拉加载与下拉刷新的实例

    2024-04-23 09:30:40
  • 不成熟的标准化是我们唯一惧怕的

    2008-08-15 18:55:00
  • asp之家 网络编程 m.aspxhome.com