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

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

以前搜集的一些資料---ADSI技術(shù),運(yùn)用AUO(Active User Object)取代Session對(duì)象

以前搜集的一些資料---ADSI技術(shù),運(yùn)用AUO(Active User Object)取代Session對(duì)象

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

使用AUO(Active User Object)來維護(hù)用戶信息
如果你要是對(duì)其中的一些技術(shù)術(shù)語不明白的話,
請(qǐng)參考我在前面發(fā)過的有關(guān)ADSI的文章。
現(xiàn)在在進(jìn)行網(wǎng)站編程的時(shí),要保存用戶信息的時(shí)候經(jīng)常使用的
技術(shù)是:
1。使用Session對(duì)象來保存用戶信息,這種方式很常見,它允許
你在你的程序的任何一個(gè)位置添加一個(gè)Session變量,它還不對(duì)你
申明的變量進(jìn)行類型檢查,它的缺點(diǎn)很明顯,一是它的隨意性讓
你很不方便管理你的程序結(jié)構(gòu),二是它的對(duì)數(shù)據(jù)類型的不約束性
使得你很難找到程序中的BUG,這樣當(dāng)你的程序出現(xiàn)問題的時(shí)候
你不得不在整個(gè)程序中檢查所有的Session變量。
Session變量的移植性和容錯(cuò)性是它最頭疼的地方。
2。使用隱藏的Form元素來傳遞變量。但是由于這種方式要求你
使用明文來傳遞你的變量,當(dāng)對(duì)變量的安全要求比較嚴(yán)格時(shí),
又是一個(gè)很頭疼的問題。
現(xiàn)在我們討論一個(gè)新的用來傳遞變量的技術(shù),就是AUO對(duì)象。
這種很不錯(cuò)的動(dòng)態(tài)數(shù)據(jù)服務(wù)器能夠使用Site Server中的
Membership Server來實(shí)現(xiàn)。

對(duì)Session數(shù)據(jù)使用AUO
要使用AUO,你必須先定義好你的Membership Server并且指派一個(gè)網(wǎng)站。
一旦你設(shè)置好這些配置,我們就可以配置Membership Directory和AUO.

配置AUO
配置過程主要分下面四個(gè)步驟:
1。定義你需要的Session State屬性
2。新建或則選擇一個(gè)session state數(shù)據(jù)的類
3。為動(dòng)態(tài)數(shù)據(jù)建立一個(gè)容器(container)
4。配置secondary AUO Provider

在面向?qū)ο蟮木幊碳夹g(shù)中,屬性被認(rèn)為是一個(gè)類中的一個(gè)成員。
你必須為每個(gè)數(shù)據(jù)類型關(guān)聯(lián)一個(gè)它的屬性。
舉例來說,如果想要實(shí)現(xiàn)一個(gè)在線購(gòu)書系統(tǒng),我們需要定義一個(gè)購(gòu)物籃類,
它應(yīng)該包括的屬性有籃內(nèi)的貨物數(shù)目,它包含了一個(gè)數(shù)字(numeric)屬性
要定義這個(gè)屬性,使用Site Server的MMC,在成員目錄(Membership Directory)中
增加所有的屬性。
定義好屬性后,現(xiàn)在你需要做的是給這些屬性關(guān)聯(lián)一個(gè)類,
一個(gè)類的實(shí)現(xiàn)稱為一個(gè)對(duì)象,每個(gè)對(duì)象對(duì)自己的屬性都可以擁有不同的數(shù)值。
如果你已經(jīng)有了一個(gè)Session State類, 你要做的就是給這個(gè)類添加屬性而已。
否則你需要使用Membership Directory Manager新建一個(gè)新Session State的類
在下面的例子中使用到的一個(gè)類為SessionStateClass.
現(xiàn)在你需要建立一個(gè)secondary AUO provider, 它是用來給主AUO provider提供輔助的
數(shù)據(jù)信息的.這可以是一個(gè)兼容ODBC的數(shù)據(jù)庫(kù),或則是一個(gè)其它的目錄服務(wù)或則是一個(gè)其它的
Membership Directory容器.在例子中,輔助的數(shù)據(jù)為Session State的Membership Directory容器信息。

這樣,新建一個(gè)在Membership Directory下用來保存動(dòng)態(tài)session信息的容器的
root和name為它的ou=SessionStateData. 這個(gè)secondary AUO provider將使用
SessionStateData容器來儲(chǔ)存數(shù)據(jù).使用MMC給SessionState建立一個(gè)secondary AUO provider
有如下屬性:
ADS 路徑: computername:LDAPport/o=yourDirectory/ou=SessionStateData
Schema 路徑: computername:LDAPport/o=yourDirectory/ou=Admin/cn=Schema/cn=SessionStateClass
現(xiàn)在你已經(jīng)準(zhǔn)備好使用AUO來保存session信息的一切手續(xù)了。
雖然看上去很混亂(說真的,我翻譯到這里是比較的混亂), 你剛才所做的在Membership Directory的scope中
新建和實(shí)現(xiàn)一個(gè)對(duì)象:定義一個(gè)類(class), 該類有用來描述和說明一個(gè)session state的屬性(或則說是成員)
而在實(shí)現(xiàn)的過程中,每個(gè)用戶(就是客戶端的瀏覽器)將得到這個(gè)類的一個(gè)實(shí)現(xiàn)(或則說是對(duì)象).
好了,現(xiàn)在讓我們來看看AUO到底是怎么工作的把。
在ASP中使用下面的語句調(diào)用一個(gè)AUO provider
Set objUser = Server.CreateObject("Membership.UserObjects")
你能夠通過下面的語句調(diào)用獲得這個(gè)對(duì)象的任何靜態(tài)屬性。
Response.Write "Your login: " + objUser.cn
要設(shè)置動(dòng)態(tài)信息,你需要先確保該對(duì)象確實(shí)存在。
因?yàn)樗且粋(gè)動(dòng)態(tài)對(duì)象(dynamic object),所以你不能夠把它當(dāng)成一個(gè)
自動(dòng)(automatically)對(duì)象。
If Not IsArray(objUser("SessionState").objectClass) Then
 objUser("SessionState").objectClass =
 Array("SessionState", "dynamicObject")
End If
接下來,設(shè)置這個(gè)AUO對(duì)象的TTL(生存期)數(shù)值. 當(dāng)該時(shí)間到后,這個(gè)對(duì)象將終止和消失。
這需要調(diào)用SetInfo方法。
objUser("SessionState").entryTTL = 900' 默認(rèn)單位為秒
objUser("SessionState").SetInfo
最后,我們來設(shè)置該對(duì)象的數(shù)值(講簡(jiǎn)單點(diǎn),就是終于可以來實(shí)現(xiàn)Session的功能了)
就是給屬性numItems賦值。注意,在schema中這個(gè)屬性必須要存在,而且數(shù)據(jù)類型必須要匹配。
objUser( "SessionState" ).numItems = 3
objUser( "SessionState" ).SetInfo
如果使用一個(gè)不存在的屬性或者使用了錯(cuò)誤的數(shù)據(jù)類型,你都將得到出錯(cuò)信息的。

訪問AUO Session State
要訪問你剛才賦值的屬性,只要指定了用戶對(duì)象,和secondary AUO的name以及屬性名即可。
Response.Write objUser("SessionState").numItems
注意的是,如果你設(shè)置的TTL到期后,你使用以上語句將得不到任何返回值。

比較一下Session和AUO Objects的不同之處
你也許已經(jīng)注意到,在你使用AUO的屬性前你必須先要定義這些屬性,
這是一個(gè)相對(duì)與Session對(duì)象而言一個(gè)很大的優(yōu)勢(shì),這將迫使個(gè)人開發(fā)者在設(shè)計(jì)變量,
對(duì)外接口上發(fā)更多的時(shí)間(也就是說再也不能夠象使用Session一樣,隨便使用任何名字了)。
并且把變量的聲明都集中在一起,這對(duì)于多個(gè)開發(fā)者同時(shí)開發(fā)一個(gè)項(xiàng)目而言是個(gè)很大的進(jìn)步。
同時(shí)它也提供了更多的處理數(shù)據(jù)的可能。你能夠使用ADSI來訪問保存Session State的組(group)
并且它能夠很方便的傳遞所有的用戶信息,這包括:人們?cè)谀愕脑诰購(gòu)物系統(tǒng)中買了什么東西,
,他們?cè)谀愕脑诰購(gòu)物系統(tǒng)中不滿意什么,在什么時(shí)間他們買了什么東西等等。

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

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 弥渡县| 稻城县| 扎囊县| 恩平市| 阿坝县| 昌都县| 石河子市| 阿巴嘎旗| 瓮安县| 梅州市| 上饶市| 徐水县| 江北区| 当涂县| 原平市| 巩义市| 全南县| 五原县| 沈丘县| 多伦县| 昭平县| 花垣县| 兴隆县| 阜南县| 明溪县| 台中市| 博客| 赤城县| 邯郸县| 内丘县| 镇沅| 甘洛县| 冷水江市| 全椒县| 隆德县| 阿图什市| 安岳县| 宾川县| 沧州市| 天门市| 宜兴市|