如何在ASP.NET中使用会话

  介绍

本篇文章为大家展示了如何在ASP.NET中使用会话,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

,,,,,当用户在应用程序的页之间跳转时,存储在会话对象中的变量不会清除,而用户在应用程序中访问页面时,这些变量始终存在。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个会话对象。当会话过期或被放弃后,服务器将终止该会话。

,,,,,,通过向客户程序发送唯一的饼干可以管理服务器上的会话对象。当用户第一次请求ASP应用程序中的某个页面时,ASP要检查HTTP头信息,查看是否有在报文中有名为ASPSESSIONID的饼干发送过来,如果有,则服务器会启动新的会话,并为该会话生成一个全局唯一的值,在把这个值作为新ASPSESSIONID Cookie的值发送给客户端,正是使用这种饼干,可以访问存储在服务器上的属于客户程序的信息.Session对象最常见的作用就是存储用户的首选项,例如,如果用户指明不喜欢查看图形,就可以将该信息存储在会话对象中。另外其还经常被用在鉴别客户身份的程序中。要注意的是,会话状态仅在支持饼干的浏览器中保留,如果客户关闭了饼干选项,会话也就不能发挥作用了只

<强>(一)会话的基本属性:

<强>一、属性

<强> 1,SessionID

,,,,,,SessionID属性返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独的标识。会话标识以长整形数据类型返回。在很多情况下SessionID可以用于WEB页面注册统计。

<强> 2,超时

,,,,,,超时属性以分钟为单位为该应用程序的会话对象指定超时时限。如果用户在该超时时限之内不刷新或请求网页,则该会话将终止。

<强>二、方法

,,,,,,会议对象仅有一个方法,就是放弃,放弃方法删除所有存储在会话对象中的对象并释放这些对象的源。如果您未明确地调用放弃方法,一旦会话超时,服务器将删除这些对象。当服务器处理完当前页时,下面示例将释放会话状态只

& lt;%的会话。放弃%在

<强>三、事件

会话对象有两个事件可用于在会话对象启动和释放是运行过程。

<强> 1时事件在服务器创建新会话时发生。服务器在执行请求的页之前先处理该脚本.Session_OnStart事件是设置会话期变量的最佳时机,因为在访问任何页之前都会先设置它们。

,,,,,,尽管在时事件包含重定向或结束方法调用的情况下会话对象仍会保持,然而服务器将停止处理全球。asa文件并触发时事件的文件中的脚本。

,,,,,,为了确保用户在打开某个特定的Web页时始终启动一个会话,就可以在时事件中调用重定向方法。当用户进入应用程序时,服务器将为用户创建一个会话并处理时事件脚本。您可以将脚本包含在该事件中以便检查用户打开的页是不是启动页,如果不是,就指示用户调用响应。重定向方法启动网页。程序如下:

& lt;, SCRIPT  RUNAT=Server 语言=VBScript>   Sub 时   时间=startPage “MyApp/StartHere.asp"   时间=currentPage  Request.ServerVariables (“SCRIPT_NAME")   startPage if  strcomp(当前页,1),   Response.Redirect (startPage)   最终获得;   最终获得子   & lt;,/SCRIPT>

,,,,,,上述程序只能在支持饼干的浏览器中运行。因为不支持饼干的浏览器不能返回SessionID cookie,所以,每当用户请求Web页时,服务器都会创建一个新会话。这样,对于每个请求服务器都将处理时脚本并将用户重定向到启动页中只

<强> 2,Session_OnEnd事件在会话被放弃或超时发生。

,,,,,,关于使用会话对象需要注意的事项应用程序对象相近,请参照前文。

,,,,,,会话可以通过以下三种方式启动:

1),一个新用户请求访问一个URL,该URL标识了某个应用程序中的asp文件,并且该应用程序的全球化。asa文件包含时过程。

2),用户在会话对象中存储了一个值。

3),用户请求了一个应用程序的asp文件,并且该应用程序的全球化。asa文件使用& lt;OBJECT>标签创建带有会话作用域的对象的实例。

,,,,,,如果用户在指定时间内没有请求或刷新应用程序中的任何页,会话将自动结束。这段时间的默认值是20分钟。可以通过在互联网服务管理器中设置”应用程序选项”属性页中的“会话超时“属性改变应用程序的默认超时限制设置。应依据您的Web应用程序的要求和服务器的内存空间来设置此值,例如,如果您希望浏览您的Web应用程序的用户在每一页仅停留几分钟,就应该缩短会话的默认超时值。过长的会话超时值将导致打开的会话过多而耗尽您的服务器的内存资源。对于一个特定的会话,如果您想设置一个小于默认超时值的超时值,可以设置会话对象的超时属性,例如,下面这段脚本将超时值设置为5分钟。

如何在ASP.NET中使用会话