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

我知道这是一个简单的问题,但我似乎无法将其拖出谷歌噪音.我知道.NET可以使用会话状态服务或SQL数据库来支持其会话状态,但我不知道ASP是否提供了存储它的任何进程外选项.是否有任何问题,或者当负载均衡服务器脱机时,我是否会在ASP应用程序上丢失会话变量?

解决方法

是的,只在记忆中

来自MSDN Full Article

ASP实施

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

Visual Basic 6 COM会话对象的主要用途是提供对MicrosoftInternetInformation 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对象中.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。