zoukankan      html  css  js  c++  java
  • ASP与ASP.net的Session值共享

    < DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>



    2006-11-26 22:21:38

    大中小
    问题起因:新系统将要全面用.net平台来开发,前面两年的工作都是用ASP来开发,如果费除的话,工作量很大,但后续的系统在ASP上实现困难,在以后的安全和升级打包上asp.net比ASP要强大多了,所以决定后面的开发转.net平台,首先就遇到了一个Session值的问题.因为asp和asp.net完全不同,虽都可以有IIS下执行,asp是面向过程开发,其实都算不上开发,只能算是vbscript,和javascript脚本语言,session值都是存储在服务器内存中,所以在线用户越多,session定义的越多,系统内存就占的越大;asp.net完全是采用数所库存储的.两者session值存储方式完全不同,直接传值肯定行不通.

    解决办法:在网上找一些资料,问一些.net的老鸟,答案都是不能实现,都说要推翻重新用.net做.周六晚上,想的头痛了,还是没有找到方法,我是问题没有解决,睡觉都会想的.在今天下午终于我在微软msdn网站上找到了解决办法http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/default.mspx?mfr=true, 要说明的是这里也有些错误的地方,如果的照搬肯定也会现出错.

    上面是原理图:
    程序代码下载
    设置步骤 " 创建一个名为 SessionDemoDb 的新数据库。(库名可以自己根据项目不动)

    " 创建 SessState 表 (osql.exe -E -d SessionDemoDb -i Session.sql)。

    " 创建名为 Demo 的新虚拟目录。

    " 关闭 ASP 配置选项卡中的 ASP Session。

    " 将 web.config、testPage.aspx、Global.asa、testPage.asp 和 GlobalInclude.asp 复制到虚拟目录中。

    " 更新 Global.asa 和 web.config 中的 DSN 字符串设置。会话超时设置是可选的。默认值为 20 分钟。?

    " 将 SessionUtility.dll 安装到 Global Assembly Cache (gacutil /i SessionUtility.dll)。

    " 利用 regasm.exe 将 SessionUtility.dll 公开为 COM 对象 (regasm.exe SessionUtility.dll /tlb:SessionUtility.tlb)。

    " 将 SessionManager.dll 复制到一个本地目录中,并利用 regsvr32.exe 注册该文件 (regsvr32 SessionManager.dll)。

    " 为 IUSR_<machine_name> 帐号赋予对 SessionMgr.dll 的读和执行权限。

    小结

    ASP.NET 代表了一种全新的编程典范和结构,并且比传统的 ASP 具有更多优势。虽然从 ASP 迁移到 ASP.NET 并不是一个简单的过程,但 ASP.NET 更好的编程模型和更高的性能使得这种转换过程物有所值。  

  • 相关阅读:
    Kooboo CMS
    Kooboo CMS
    Kooboo CMS
    Kooboo CMS
    Kooboo CMS
    Ajax.BeginForm VS Html.BeginForm
    ASP.NET或者 js方式实现文件夹多图片浏览的方式
    C++入门知识总结(1)
    几个步骤轻松搞定ASP.NET 依赖注入。
    使用GIT@OSChina 实现协同工作的方法。
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912339.html
Copyright © 2011-2022 走看看