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