当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  认识asp.net会话状态 2

 认识asp.net会话状态 2

点击次数:26 次 发布日期:2008-11-26 10:45:47 作者:源代码网
源代码网推荐      下面显示了 SQL Server 模式的一个配置设置示例。
源代码网推荐  
源代码网推荐   <configuration>
源代码网推荐   <system.web>
源代码网推荐   <sessionState mode="SQLServer"
源代码网推荐   sqlConnectionString=" Integrated Security=SSPI;data source=dataserver;"
源代码网推荐   cookieless="false"
源代码网推荐   timeout="20"/>
源代码网推荐   </sessionState>
源代码网推荐   </system.web>
源代码网推荐   </configuration>
源代码网推荐  
源代码网推荐     在 SQL Server 模式中,也可以将会话状态配置为在故障转移群集中工作。故障转移群集是两个或更多相同的冗余 Web 服务器,它们将会话数据存储在一台单独的计算机上的 SQL Server 数据库中。如果一个 Web 服务器出现故障,群集中的另一个服务器会接管它的工作,为请求提供服务,会话数据不会丢失。
源代码网推荐  
源代码网推荐     若要配置故障转移群集,请将 Web 服务器的 Web.config 文件中的 <machinekey> 元素设置为相同的值。
源代码网推荐  
源代码网推荐     然后将 Web 服务器的 SQL 连接字符串设置为指向计算机上存储会话数据的 SQL Server 数据库。
源代码网推荐  
源代码网推荐     五、会话状态的访问
源代码网推荐  
源代码网推荐     你可以直接通过Session集合来实现对会话状态的访问。为了与 ASP 的早期版本兼容,还可以通过应用程序对象上的 Session.Contents 属性来实现对会话状态的访问。
源代码网推荐  
源代码网推荐     下面的示例显示在第一个网页将两个值写入Session集合,然后再在第二个网页读取Session集合。注:此处省略了页代码。
源代码网推荐  
源代码网推荐     第一个网页,将值写入Session集合
源代码网推荐  
源代码网推荐   dim name as string = "a"
源代码网推荐   dim id as integer = "1"
源代码网推荐   session("name") = name
源代码网推荐   session("id") = id
源代码网推荐   第二个网页,从Session集合获取值
源代码网推荐   dim name as string = session("name")
源代码网推荐   dim id as integer = session("id")
源代码网推荐   "获取获取会话状态集合中的项数
源代码网推荐   dim i as integer = session.count
源代码网推荐  
源代码网推荐     注意,在进程内模式,未发生真正的序列化和反序列化,所以对象作为各自类的活动实例存储在会话状态中。
源代码网推荐  
源代码网推荐     而在进程外会话模式,因为使用了序列化和反序列化,所以你要根据情况对数据类型进行转换。
源代码网推荐  
源代码网推荐     如对日期值执行序列化操作,日期应为 Int64 类型。
源代码网推荐  
源代码网推荐     六、会话生存期管理事件
源代码网推荐  
源代码网推荐     会话生存期管理事件有两个Session_OnStart事件和Session_OnEnd事件,你可以在Global.asax.VB文件中对它们进行设置
源代码网推荐  
源代码网推荐     1、Session_OnStart事件
源代码网推荐  
源代码网推荐     当从单个浏览器客户端连接到服务器上时,就会触发Session_OnStart事件,它标志着会话的开始,在此后的浏览过程中,将不在触发该事件,除非此次会话超时或被放弃。Session_OnStart 事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先设置它们。
源代码网推荐  
源代码网推荐     示例:下面的示例是比较常用到的统计在线人数的Session_OnStart 事件代码:
源代码网推荐  
源代码网推荐   Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
源代码网推荐   "当事件发生时,将在线用户的人数加1
源代码网推荐   Application("usercount") = Application("usercount") + 1
源代码网推荐   End Sub
源代码网推荐  
源代码网推荐     2、Session_OnEnd事件
源代码网推荐  
源代码网推荐     Session_OnEnd 事件在会话被放弃或超时发生,它标志着事件的结束。但请注意,只有 InProc 模式支持该事件。你可以通过Web.config文件的<sessionState>节的timeout属性来指定超时时限,如果用户在该超时时限之内(以分钟为单位,默认是20分
源代码网推荐   钟)不刷新或请求网页,则该会话将终止。可以利用Session_OnEnd 事件做一些清理工作。
源代码网推荐  
源代码网推荐     示例:下面的示例是比较常用到的统计在线人数的Session_OnEnd 事件代码:
源代码网推荐  
源代码网推荐   Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
源代码网推荐   Application("usercount") = Application("usercount") - 1
源代码网推荐   End Sub  做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华