亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        ASP.NET頁(yè)面臨時(shí)數(shù)據(jù)共享需求與解決方案研究

        2016-04-13 08:35:28印,周蓉,朱
        關(guān)鍵詞:頁(yè)面解決方案設(shè)置

        陳 印,周 蓉,朱 倩

        (四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川 遂寧 629000)

        ASP.NET頁(yè)面臨時(shí)數(shù)據(jù)共享需求與解決方案研究

        陳 印,周 蓉,朱 倩

        (四川職業(yè)技術(shù)學(xué)院計(jì)算機(jī)科學(xué)系,四川 遂寧 629000)

        探討ASP.NET站點(diǎn)中WEB頁(yè)面對(duì)應(yīng)用程序、會(huì)話以及頁(yè)面級(jí)別的臨時(shí)數(shù)據(jù)共享需求,提出基于Application、Session以及ViewState等技術(shù)的數(shù)據(jù)共享解決方案.

        ASP.NET;Application;Session;ViewState;數(shù)據(jù)共享

        1 概述

        在A S P.NE T站點(diǎn)中,使用數(shù)據(jù)庫(kù)是核心數(shù)據(jù)共享的最佳方案.然而,除了核心數(shù)據(jù)以外,站點(diǎn)頁(yè)面中頻繁使用的變量、頁(yè)面交互中使用的參數(shù)等臨時(shí)數(shù)據(jù)同樣需要共享,而且這些數(shù)據(jù)的共享并不適合使用數(shù)據(jù)庫(kù).縱觀A S P.NE T站點(diǎn)中的臨時(shí)數(shù)據(jù)共享技術(shù),不僅包含了傳統(tǒng)的F o rm和Q u e r y S t r in g技術(shù),更包括了.NE T F ram e W o rk框架下面向?qū)ο蟮腁 ppl i ca t tion、S ession以及V ie wS t a te等一系列特有的技術(shù).然而不同級(jí)別的數(shù)據(jù)共享需求所適用的共享技術(shù)并非等同,因此,本文從共享需求角度來(lái)分析不同場(chǎng)合下頁(yè)面臨時(shí)數(shù)據(jù)的共享解決方案.

        2 ASP.NET中臨時(shí)數(shù)據(jù)的共享需求

        2.1 WEB應(yīng)用程序級(jí)別

        在W EB項(xiàng)目開(kāi)發(fā)中,經(jīng)常會(huì)遇到整個(gè)站點(diǎn)都需要共用某些數(shù)據(jù)的情況.比如,某些論壇網(wǎng)站需要統(tǒng)計(jì)站點(diǎn)訪問(wèn)量,通常情況下應(yīng)該是不同時(shí)刻每個(gè)訪問(wèn)站點(diǎn)的瀏覽器進(jìn)程都應(yīng)該能獲取到當(dāng)前訪問(wèn)量并對(duì)數(shù)據(jù)進(jìn)行增加,然后再通過(guò)某種方式儲(chǔ)存起來(lái)供下一次訪問(wèn).又比如常見(jiàn)的購(gòu)物網(wǎng)站對(duì)在線人數(shù)的統(tǒng)計(jì),一般情況下應(yīng)該是有新的用戶進(jìn)程訪問(wèn)站點(diǎn)就應(yīng)該對(duì)在線人數(shù)進(jìn)行加一操作,有用戶進(jìn)程過(guò)期就應(yīng)該對(duì)在線人數(shù)進(jìn)行減一操作.這里的“站點(diǎn)訪問(wèn)量”和“在線人數(shù)”就屬于W EB應(yīng)用程序級(jí)別需要共享的數(shù)據(jù).

        2.2 會(huì)話級(jí)別

        在限定時(shí)間范圍內(nèi)訪問(wèn)W EB站點(diǎn)的同一客戶端的請(qǐng)求稱為一個(gè)會(huì)話[1],在會(huì)話期間,某些數(shù)據(jù)可能需要在同一會(huì)話內(nèi)的訪問(wèn)頁(yè)面中共享使用.比如,某個(gè)用戶訪問(wèn)站點(diǎn)并登錄后,需要在訪問(wèn)期間能共享其登錄的賬戶名、賬戶類型以及訪問(wèn)級(jí)別等數(shù)據(jù),這就需要將這些數(shù)據(jù)進(jìn)行會(huì)話級(jí)別的共享,以供本次訪問(wèn)站點(diǎn)的會(huì)話自己使用.

        2.3 頁(yè)面級(jí)別

        W EB站點(diǎn)從一個(gè)頁(yè)跳轉(zhuǎn)到另一個(gè)頁(yè)是最常見(jiàn)的頁(yè)面交互方式.如果兩個(gè)頁(yè)面在訪問(wèn)前后需要用到相同的數(shù)據(jù),這些數(shù)據(jù)就需要進(jìn)行頁(yè)面級(jí)別的共享.頁(yè)面跳轉(zhuǎn)交互在A S P.NE T中有兩種情況:

        一種是不同頁(yè)面進(jìn)行跳轉(zhuǎn)交互.比如,在新聞?wù)军c(diǎn)的新聞列表頁(yè)中點(diǎn)擊新聞標(biāo)題后跳轉(zhuǎn)到該新聞的詳情頁(yè),這兩個(gè)頁(yè)面在訪問(wèn)前后需要對(duì)新聞的關(guān)鍵數(shù)據(jù)(如新聞編號(hào))進(jìn)行共享,否則新聞詳情頁(yè)就無(wú)法獲知需要呈現(xiàn)哪條新聞.

        另一種是同一頁(yè)面在刷新前后交互.比如,在查詢頁(yè)面點(diǎn)擊服務(wù)器控件(如B u t ton)按照指定條件找到查詢結(jié)果之后,又需要用服務(wù)器控件(如L in k B u t ton)實(shí)現(xiàn)上一頁(yè)和下一頁(yè)導(dǎo)航,這就需要在導(dǎo)航過(guò)程中對(duì)搜索條件進(jìn)行共享.

        3 不同級(jí)別臨時(shí)數(shù)據(jù)共享的解決方案

        3.1 WEB應(yīng)用程序級(jí)別

        在A S P.NE T中,站點(diǎn)應(yīng)用程序級(jí)別的數(shù)據(jù)共享可以使用A ppl i ca tion對(duì)象來(lái)進(jìn)行設(shè)置.A ppl i cation是應(yīng)用程序級(jí)的對(duì)象,它通過(guò)在服務(wù)器上建立一個(gè)狀態(tài)變量來(lái)存儲(chǔ)信息,該變量創(chuàng)建在內(nèi)存中,可供該應(yīng)用程序中的任何一個(gè)頁(yè)面訪問(wèn)[2].A ppl ica tion對(duì)象變量一般在全局配置文件(G l o bal.a s ax)的A ppl i ca tion_S t ar t事件中進(jìn)行初始化,然后在其他頁(yè)面直接訪問(wèn):

        設(shè)置方法:A ppl i ca tion["變量名"]="值";

        取值方法:字符變量名=A ppl i ca tion["參數(shù)名"].T o S t r in g();

        A ppl i ca tion對(duì)象共享的數(shù)據(jù)是o bj e c t類型,取值時(shí)需要根據(jù)需要進(jìn)行類型轉(zhuǎn)換。如前文提到的站點(diǎn)訪問(wèn)量、在線人數(shù)等,可以分別在G l o bal. a s ax文件的S ession_S t ar t和S ession_E nd事件中獲取共享的A ppl i ca tion對(duì)象變量進(jìn)行操作,并回存修改后的變量值:

        A ppl i ca tion.L o ck();//開(kāi)啟排他鎖

        A ppl i ca tion["c o u nt O n"]=(int)A ppl i ca tion ["c o u nt O n"]+1;//在線人數(shù)增加

        A ppl i ca tion.U n L o ck();//關(guān)閉排他鎖

        此外,A S P.NE T還提供了Cac he對(duì)象用于應(yīng)用程序級(jí)別緩存臨時(shí)數(shù)據(jù),其用法與A ppl i ca tion相似,但更靈活,可以設(shè)置緩存有效時(shí)間及優(yōu)先次序.

        設(shè)置方法:Cac he["變量名"]="值";

        取值方法:字符變量名=Cac he["變量名"]. T o S t r in g();

        設(shè)置Cac he緩存變量時(shí),可以使用以下方法設(shè)置過(guò)期策略:

        Cac he.I nse r t("變量名","變量值",n ul l, D a te T i m e.N o w.Add M in u tes (10), Cac he. N o Sl idin g E xp i ra tion);

        以上設(shè)置緩存變量的過(guò)期時(shí)間為現(xiàn)在開(kāi)始的10分鐘.如果緩存在N o Sl idin g E xp i ra tion設(shè)定的時(shí)間內(nèi)沒(méi)有被訪問(wèn),緩存過(guò)期,否則就不過(guò)期.

        3.2 會(huì)話級(jí)別

        會(huì)話級(jí)別的數(shù)據(jù)共享一般使用S ession,它是A S P.NE T中存儲(chǔ)會(huì)話級(jí)別共享數(shù)據(jù)的特有對(duì)象。

        設(shè)置方法:S ession["變量名"]="值";

        取值方法:字符變量=S ession["變量名"]. T o S t r in g();

        如,用戶登錄成功以后可以將其賬戶名、賬戶類型和訪問(wèn)級(jí)別等數(shù)據(jù)設(shè)置到S ession對(duì)象中,在其他頁(yè)面直接從S ession中取值即可.在會(huì)話的有效期內(nèi),該數(shù)據(jù)能且僅能被該會(huì)話獨(dú)自使用.

        此外,C oo k ie也可以用作會(huì)話級(jí)別的對(duì)象來(lái)共享數(shù)據(jù),用法與S ession類似,不同的是前者存儲(chǔ)在客戶端,后者存儲(chǔ)在服務(wù)器端.

        3.3 頁(yè)面級(jí)別

        在A S P.NE T中,不同頁(yè)面跳轉(zhuǎn)前后的數(shù)據(jù)共享與同一頁(yè)面刷新前后的數(shù)據(jù)共享視需求的不同可以采取不同的解決方案.

        (1)不同頁(yè)面跳轉(zhuǎn)前后的數(shù)據(jù)共享解決方案.

        通過(guò)超級(jí)鏈接或R edi r e c t方法發(fā)生的不同頁(yè)面跳轉(zhuǎn)后數(shù)據(jù)的共享(更多屬于參數(shù)的傳遞)可以使用F o rm表單或Q u e r y S t r in g來(lái)實(shí)現(xiàn),這與傳統(tǒng)的Post或Get方法使用原理比較類似.F o rm表單適合于前一頁(yè)向后一頁(yè)發(fā)送(共享)大量數(shù)據(jù)的需求,而Q u e r y S t r in g則適合少量數(shù)據(jù)的共享需求.

        ①F o rm表單共享數(shù)據(jù)的方法:

        a.a s px頁(yè)面:R u nAt="S e rv e r"的表單中放置W EB服務(wù)器控件及數(shù)據(jù).

        b.a s px頁(yè)面:通過(guò)R e q u est.F o rm["控件名"]獲取數(shù)據(jù)。

        ②Q u e r y S t r in g的數(shù)據(jù)共享方法:

        a.a s px頁(yè) 面 :R es p onse.R edi r e c t("ne w s-De a t a i l.a s px?ne w s I D="+ne w s I D);

        b.a s px頁(yè)面:st r in g ne w s I D=R e q u est.Q u e r y S-t r in g["ne w s I D"];

        (2)同一頁(yè)面刷新前后的數(shù)據(jù)共享解決方案.

        A S P.NE T中的V ie wS t a te對(duì)象為同一頁(yè)面在刷新前后的數(shù)據(jù)共享提供了良好的解決方案:

        設(shè)置方法:V ie wS t a te["變量名"]="值";

        取值方法:字符變量=V ie wS t a te["變量名"].T o S t r in g();

        同樣,V ie wS t a te存儲(chǔ)的也是o bj e c t類型的數(shù)據(jù),支持復(fù)合數(shù)據(jù)的存儲(chǔ).

        4 結(jié)語(yǔ)

        A S P.NE T中頁(yè)面?zhèn)髦档姆椒ǘ喾N多樣,必須分清楚頁(yè)面值傳遞的具體應(yīng)用需求、掌握不同范圍數(shù)據(jù)共享技術(shù)的適用場(chǎng)合,我們才能在W EB項(xiàng)目開(kāi)發(fā)中做到胸有成竹,找到合適的解決方案.

        [1]張俊鎖.A S P.NE TS ession的原理和用法[J].信息通信, 2014,(11).

        [2]郭清菊.A S P.NE T中頁(yè)面間傳值方法的實(shí)現(xiàn)[J].軟件導(dǎo)判,2010,9(7).

        責(zé)任編輯:張隆輝

        TP31

        A

        1672-2094(2016)02-0162-02

        2016-01-13

        四川省教育廳自然科學(xué)一般科研項(xiàng)目13Z B0031.

        陳 印(1979-),男,四川渠縣人,四川職業(yè)技術(shù)學(xué)院副教授,碩士.研究方向:計(jì)算機(jī)軟件技術(shù).

        猜你喜歡
        頁(yè)面解決方案設(shè)置
        大狗熊在睡覺(jué)
        刷新生活的頁(yè)面
        解決方案和折中方案
        中隊(duì)崗位該如何設(shè)置
        簡(jiǎn)潔又輕松的Soundbar環(huán)繞聲解決方案
        本刊欄目設(shè)置說(shuō)明
        4G LTE室內(nèi)覆蓋解決方案探討
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        Moxa 802.11n WLAN解決方案AWK-1131A系列
        地鐵出入段線轉(zhuǎn)換軌設(shè)置
        日本成人午夜一区二区三区| 国产无码十八禁| 二区三区亚洲精品国产| 日本最新视频一区二区| 成年女人18毛片观看| 国产一区二区三区在线观看完整版 | 国产精品久久国产精品99| 三年在线观看免费大全下载| 欧美激情区| 日本福利视频免费久久久| 人妻制服丝袜中文字幕| 中字幕人妻一区二区三区| 少妇无码一区二区三区| 另类免费视频在线视频二区| 国产精品一区成人亚洲| 国产三级精品三级男人的天堂| 亚洲乱码国产乱码精品精| 国产极品久久久久极品| 国产亚洲女人久久久久久| 国产av熟女一区二区三区密桃| 国产人妻人伦精品1国产| 精品久久久久久久久午夜福利| 少妇爽到爆视频网站免费| 永久免费看黄网站性色| 未发育成型小奶头毛片av| 国产亚洲日韩在线一区二区三区| 麻豆国产高清精品国在线| 国产精品久久国产精品久久| 国产亚洲一本二本三道| 洲色熟女图激情另类图区| 无码人妻久久一区二区三区不卡 | 最新国产三级| 亚洲高清国产品国语在线观看| 久久婷婷综合色一区二区| 色婷婷亚洲一区二区三区| 就去吻亚洲精品欧美日韩在线| 亚洲黄色官网在线观看| 尤物国产一区二区三区在线观看| 久久久av波多野一区二区| 亚洲人成人网毛片在线播放| 国产精品日本中文在线|