Mwambaa wa Session wa ASP
- Kabla Cookies za ASP
- Mingine Application ya ASP
Mtaani wa Session umetumika kusora taarifa za mtu. Tabia inasora kwenye mtaani wa session inaonekana kwa mtu moja pekee, na inaweza kupatikana kwa kila ukurasa wa programu.
Mtaani wa Session
Mwana wa matokeo, wakati unategemea programu yako, unafungua, kumaliza kwenye, kwa kawaida, kama kila mtaani (Session). Kompyuta inaonekana wewe ni nani. Inaonekana wakati unafungua na kumaliza programu. Kati ya Intaneti, kuna mstari: kwa sababu jina la HTTP hapakuweza kuwahusisha hali, serveri ya web hinaonekana wewe ni nani na nini unafanya.
ASP kumaliza msana hizi matokeo kwa kuitwa kila mtu kwa cookie kinaozidiwa. Cookie inapotikia kwa kifungu, na ina taarifa ambazo inafikia mtu. Hii inaitwa mtaani wa Session.
Session 对象用于存储关于用户的信息,或者为一个用户的 session 更改设置。存储于 session 对象中的变量存有单一用户的信息,并且对于应用程序中的所有页面都是可用的。存储于 session 对象中的信息通常是 name、id 以及参数。服务器会为每个新的用户创建一个新的 Session,并在 session 到期时撤销掉这个 Session 对象。
Session 何时开始?
Session 开始于:
- 当某个新用户请求了一个 ASP 文件,并且 Global.asa 文件引用了 Session_OnStart 子程序时;
- 当某个值存储在 Session 变量中时;
- 当某个用户请求了一个 ASP 文件,并且 Global.asa 使用
Session 何时结束?
假如用户没有在规定的时间内在应用程序中请求或者刷新页面,session 就会结束。默认值为 20 分钟。
如果您希望将超时的时间间隔设置得更长或更短,可以设置 Timeout 属性。
下面的例子设置了 5 分钟的超时时间间隔:
<% Session.Timeout=5 %>
要立即结束 session,可使用 Abandon 方法:
<% Session.Abandon %>
注意:使用 session 时主要的问题是它们该在何时结束。我们不会知道用户最近的请求是否是最后的请求。因此我们不清楚该让 session“ 存活”多久。为某个空闲的 session 等待太久会耗尽服务器的资源。然而假如 session 被过早地删除,那么用户就不得不一遍又一遍地重新开始,这是因为服务器已经删除了所有的信息。寻找合适的超时间隔时间是很困难的。
Maelezo:Tukifikia, haikubali kuhifadhi data kubwa katika thamani ya session.
Kuhifadhi na kutafuta thamani ya session
Mwili wa Session inaathiri zaidi kwa sababu inaweza kuhifadhi thamani, kwa sababu inaweza kutumiwa kwa ukurasa wa kuzingatia, na inaathiri kwa uwanja wote.
Mfano huo unaadhiwa kwa "Donald Duck" kwa jina la thamani ya session ya username, na "50" kwa jina la thamani ya age:
<% Session("jina la mtumiaji")="Donald Duck" Session("umeo")=50 %>
Kamaanisha, kamaanisha kinaadhiwa na thamani ya session, inaweza kutumiwa kwa ukurasa wote wa programu ya ASP kwa uwanja wote:
Karibu <%Response.Write(Session("jina la mtumiaji"))%>
Matokeo wa programu hii ni: "Karibu Donald Duck".
Inaweza kusafirishwa thamani wa mtumiaji kwenye kipakuo cha sesi na kupitia thamani hizi kumshinda ukurasa unayotumika kwa mtumiaji.
Kwenye matokeo ya hii, kama mtumiaji anatumia ukingo wa uonekano wa skrini wa upeo, inarudi moja ya maandiko ya ukurasa:
<%If Session("screenres")="low" Then%> Hii ni moja ya mawakilishi ya maandiko ya ukurasa <%Else%> Hii ni moja ya mawakilishi ya kizuri cha ukurasa <%End If%>
Kusifanya kufichwa kipakuo cha sesi
Kipakuo cha contents kinawakilisha visimbo vyote vya sesi.
Inaweza kutumia mtuaji wa remove kusifanya kufichwa visimbo vya sesi.
Kwenye matokeo ya hii, kama thamani ya kipakuo cha sesi "umeo" ni chini ya 18, inafichwa kipakuo cha sesi "sale":
<% If Session.Contents("umeo")<18 then Session.Contents.Remove("sale") End If %>
Kwa ajili ya kusifanya kufichwa visimbo vyote vya sesi, tumia mtuaji wa RemoveAll:
<% Session.Contents.RemoveAll() %>
Kueleza kipakuo cha contents
Kipakuo cha contents kinawakilisha visimbo vyote vya sesi. Inaweza kutumia kueleza kipakuo cha contents kwa ajili ya kuangalia visimbo vya vifaa vya kusafiri:
<% Session("jina la mtumiaji")="Donald Duck" Session("umeo")=50 dim i For Each i in Session.Contents Response.Write(i & "<br />") Next %>
Matokeo:
jina la mtumiaji umeo
Ikiwemo, kuingia kichwa cha kipakuo cha contents kwa ajili ya kuelewa upeo wa kipakuo, inaweza kutumia tabia ya count:
<% dim i dim j j=Session.Contents.Count Response.Write("Matokeo ya viwango vya sesi: " & j) Kwa i=1 hadi j Response.Write(Session.Contents(i) & "<br />") Next %>
Matokeo:
Matokeo ya viwango vya sesi: 2 Donald Duck 50
Kueneza kichwa cha klabu ya StaticObjects
Inaweza kufika kichwa cha klabu ya StaticObjects, ili kuangalia thamani za kila kipato zilizosimamishwa katika kina ya session:
<% dim i For Each i in Session.StaticObjects Response.Write(i & "<br />") Next %>
- Kabla Cookies za ASP
- Mingine Application ya ASP