加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

进程是经典ASP可以存储会话状态的唯一方法吗?

发布时间:2020-12-15 20:40:16 所属栏目:asp.Net 来源:网络整理
导读:我知道这是一个简单的问题,但我似乎无法将其拖出谷歌噪音.我知道.NET可以使用会话状态服务或SQL数据库来支持其会话状态,但我不知道ASP是否提供了存储它的任何进程外选项.是否有任何问题,或者当负载均衡服务器脱机时,我是否会在ASP应用程序上丢失会话变量?
我知道这是一个简单的问题,但我似乎无法将其拖出谷歌噪音.我知道.NET可以使用会话状态服务或SQL数据库来支持其会话状态,但我不知道ASP是否提供了存储它的任何进程外选项.是否有任何问题,或者当负载均衡服务器脱机时,我是否会在ASP应用程序上丢失会话变量?

解决方法

是的,只在记忆中

来自MSDN Full Article

ASP实施

本机ASP会话只能将会话数据存储在内存中.为了将会话数据存储到SQL Server,编写自定义Microsoft?VisualBasic?6.0COM对象来管理会话状态,而不是使用本机会话对象.此COM对象将在每个Web请求的开头实例化,并从SQL Server重新加载会话数据. ASP脚本完成后,此对象将终止,会话状态将持久保存回SQL Server.

Visual Basic 6 COM会话对象的主要用途是提供对Microsoft?InternetInformation Server内部对象的访问. Visual Basic 6.0 COM会话对象使用SessionUtility组件的mySession类来保存会话状态,使用SessionUtility的SessionPersistence类来加载和保存SQL Server的会话数据. mySession和SessionPersistence类使用regasm.exe实用程序公开为COM对象. regasm.exe实用程序可以为COM客户端注册和创建类型库以使用Framework类.

在构造对象期间重新加载会话状态信息.构造函数(class_initialize)将首先从Application对象检索会话cookie,会话超时(SessionTimeOut)和数据库连接字符串(SessionDSN),并创建类mySession的实例以保存会话数据.然后构造函数将尝试使用给定的cookie从SQL Server重新加载会话数据.如果SQL Server没有会话信息,或者会话已过期,则将发出新的cookie.如果SQL Sever确实返回了会话状态数据,则会话状态将存储在mySession对象中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读