人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

負(fù)載平衡環(huán)境下的ASP會(huì)話管理(轉(zhuǎn))

負(fù)載平衡環(huán)境下的ASP會(huì)話管理(轉(zhuǎn))

更新時(shí)間:2020-12-13 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

創(chuàng)建交互式web 頁面時(shí)最大的挑戰(zhàn)之一是維持用戶的狀態(tài),一個(gè)站點(diǎn)也許想記住你是誰、在n頁之前你點(diǎn)擊了什么、在這最后一次做了些什么、現(xiàn)在馬上要向你顯示什么。實(shí)現(xiàn)這些功能的途徑有許多,如查詢字符串、提交表單或cookies,最強(qiáng)大的一種是ASP的Session 對(duì)象。
原文出處:http://www.asptoday.com/articles/20000118.htm當(dāng)用戶第一次到達(dá)某站點(diǎn),他/她被給予一個(gè)HTTP cookie格式的SessionID (是一個(gè)只讀屬性,
為每個(gè)用戶返回session 識(shí)別號(hào))。然后服務(wù)器可以在session 集合中跟蹤一整群的變量,通過
與用戶的session cookie相匹配來保持每個(gè)用戶有一個(gè)特定變量。只要用戶在服務(wù)器上保持活躍,
session 變量就維持它的狀態(tài)。一個(gè)session 變量的默認(rèn)有效時(shí)間是20分鐘,或者是每當(dāng)用戶關(guān)閉
瀏覽器,這時(shí)無論session_OnEnd 部分是什么內(nèi)容,global.asa 文件都運(yùn)行。


 以上陳述的關(guān)鍵是“在服務(wù)器上保持激活狀態(tài)”。每個(gè)session變量都在網(wǎng)絡(luò)服務(wù)器上設(shè)置,并保持在
本地內(nèi)存中。所以,如果你在一個(gè)web 范圍內(nèi)使用負(fù)載平衡怎么辦?(負(fù)載平衡的介紹請(qǐng)見
msdn 文章 ‘ASP and Web Session Management’)。對(duì)真正的負(fù)載平衡來說,每當(dāng)居住于服務(wù)器
上的用戶點(diǎn)擊一個(gè)連接時(shí),它就改變服務(wù)器的狀態(tài),每當(dāng)瀏覽一個(gè)新頁面時(shí)都潛在地丟失他們的
session 信息。

 如果你發(fā)現(xiàn)自己是在這樣的環(huán)境下編寫代碼--或者你懷疑你的站點(diǎn)最終是負(fù)載平衡的--你有4種方法
來解決這個(gè)問題。

 ○ 完全不使用session 。
 ○ 使用臨時(shí)cookies 。
 ○ 購買第三方組件來處理session 管理。
 ○ 僅對(duì)web 范圍內(nèi)的第一次點(diǎn)擊進(jìn)行負(fù)載平衡。

 本文將討論這四種選擇,并解釋它們分別在何時(shí)何地最適用。

根本不使用sessions

 顯然,饒過sessions 管理這個(gè)問題的一個(gè)途徑就是根本不使用sessions 變量。但是你仍然受困于
狀態(tài)保持的問題。你可以使用最簡(jiǎn)單的方法跟蹤用戶,而不用寫客戶機(jī)。

 一種不安全的方法是使用瀏覽器查詢字符串,或用隱藏值進(jìn)行表單置入,以使用戶保持活躍狀態(tài)。
這將允許你給他們一個(gè)用戶id,并將變量存儲(chǔ)在一個(gè)所有的web服務(wù)器都能到達(dá)的地方。比如說
我保持了變量 ShipToZipCode、 TypeOfCustomer和 CustomerEmail?梢赃@樣寫:

< form action="/nextpage.asp" method="post" >
Item Number: < input type=text name="ItemNumber" >< br >
Quantity: < input type=text name="Quantity">< br >
Unit Cost:< input type=text name="UnitCost">< br >
< input type=hidden value="ABXXXKJR8JSDFI12KJIL2H75CX45X2" name="sessionid" >
< input type=submit value="post form" >
< /form >

然后,在 nextpage.asp上, 可以做以下工作:

Set conn=Server.CreateObject(ADODB.Connection)
Set SessionRS = conn.execute("Select ShipToZipCode, TypeOfCustomer, _CustomerEmail from TblSession where SessionID =" & request.form("sessionid"))
ShipToZipCode = SesssionRs("ShipToZipCode")
TypeOfCustomer = SesssionRs("TypeOfCustomer")
CustomerEmail = SesssionRs("CustomerEmail")

這樣通過將所有的"session" 信息存儲(chǔ)在數(shù)據(jù)庫中,可以使這三個(gè)變量在每一頁上都保持活躍。確保
用戶id的值很難猜到,這很重要。當(dāng)訪問第一頁時(shí),將分配給用戶的sessionID 存儲(chǔ)為用戶名。當(dāng)用戶
離開這一頁時(shí)可以考慮清除這個(gè)數(shù)據(jù),有效地重新生成ASP session 對(duì)象。這可以手工完成,或者用
一個(gè)限時(shí)程序?qū)?shù)周以上的記錄刪除。



使用臨時(shí)Cookies

 對(duì)于特別的非敏感數(shù)據(jù),直接向客戶機(jī)中寫入信息是有意義的。比如說,如果我的站點(diǎn)只使用了一個(gè)
變量來跟蹤用戶的ZIP 碼來得到用戶在當(dāng)?shù)氐慕煌ㄓ涗,那么以HTTP cookie的形式將用戶的ZIP碼
寫入他們的機(jī)器應(yīng)該不會(huì)產(chǎn)生什么危害。因?yàn)槟憧梢詫ookie寫成瀏覽器關(guān)閉時(shí)失效,就可以使它們
模仿一個(gè)session 變量的功能,也可以使他們是持久的,好在用戶下一次訪問時(shí)記住他。

用Request 對(duì)象Cookie 的值可以為服務(wù)器所用。請(qǐng)求Cookie 的值,然后將值帶進(jìn)來。所以在我們上面
的例子中,可以這樣做:

ShipToZipCode = Request.Cookies("SessionCookie")("ShipToZipCode")
TypeOfCustomer = Request.Cookies("SessionCookie")("TypeOfCustomer")
CustomerEmail = Request.Cookies("SessionCookie")("CustomerEmail")

 你不得不把這些放置在每個(gè)頁面的頂部,但是如果用戶把三個(gè)cookies 都設(shè)置了,那么每一頁都可以
存取和使用這些用戶特定的變量。你還可以在一個(gè)cookie中設(shè)置三個(gè)變量,請(qǐng)看Ken Baumbach的文章
Cookie Basics with ASP,里面有設(shè)置變量的更多信息。

 如果你認(rèn)為用戶可能在瀏覽器上使Cookie 無效,這種方法就不適用。但是越來越多的站點(diǎn)要求使用
cookies,web 用戶也越來越熟練了。有可能相對(duì)很少的用戶會(huì)使cookies無效,但是這要在執(zhí)行
這一方法之前進(jìn)行考慮。
 雖然上面的方法肯定能奏效,但是它們削弱了ASP的功能,因?yàn)樗拗屏似渲幸粋(gè)關(guān)鍵組件--Session
對(duì)象的使用。要避免由負(fù)載平衡導(dǎo)致的這種限制,繼續(xù)使用sessions的一種方法是購買一個(gè)第三方
組件,可以比IIS更好地處理Session。

 在本文中,我不想比較各種第三方組件的優(yōu)缺點(diǎn)。但是我聽說有一個(gè)組件工作得挺好,是SoftArtisans
提供的,叫做 SA-Session Pro。它使用NT文件系統(tǒng)存儲(chǔ)用戶的信息,整個(gè)網(wǎng)絡(luò)范圍內(nèi)的服務(wù)器都可以
使用。其它第三方組件創(chuàng)建“session 引擎”把網(wǎng)絡(luò)服務(wù)器和session 管理器分離。這樣,每次用戶
都可以被重定向到相同的session 引擎,同時(shí)也對(duì)服務(wù)器本身的點(diǎn)擊進(jìn)行負(fù)載平衡。

 另一個(gè)可選擇的第三方組件是Microsoft的成員服務(wù)器。它與Microsoft的站點(diǎn)服務(wù)器,它允許一個(gè)
站點(diǎn)處理狀態(tài)維護(hù)以外的問題。在Bill Pitzer的文章‘Moving your "Anonymous" visitors to
registered status using Site Server and Membership Directory Authentication’中有更多的
信息。

 由于ASP已經(jīng)越來越成為企業(yè)級(jí)網(wǎng)絡(luò)應(yīng)用程序的選擇,而負(fù)載平衡也成為這些應(yīng)用程序成功的最大威脅,
在市場(chǎng)上會(huì)出現(xiàn)越來越多的第三方組件。ASP本身就是服務(wù)器對(duì)象或ActiveX組件,就是可以處理這些
插件的。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 东山县| 周至县| 贵定县| 和政县| 尼木县| 兴化市| 潢川县| 肇庆市| 开远市| 疏附县| 巴彦县| 沈阳市| 大名县| 革吉县| 新乡县| 沙洋县| 宜黄县| 拉萨市| 舟曲县| 海口市| 敖汉旗| 永胜县| 新乐市| 西华县| 龙川县| 南投市| 松江区| 德清县| 古丈县| 辽宁省| 呼和浩特市| 南丰县| 修水县| 东明县| 澄迈县| 富阳市| 济南市| 河北区| 贡觉县| 兖州市| 霍山县|