• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    關(guān)于ASP.NET網(wǎng)頁(yè)間數(shù)據(jù)共享的研究

    2012-04-18 07:13:19邵珠貴楊惠英
    關(guān)鍵詞:吉林市瀏覽器網(wǎng)頁(yè)

    邵珠貴 楊惠英

    (吉林電大分校,吉林市 132002;東北電力大學(xué),吉林市 132002)

    關(guān)于ASP.NET網(wǎng)頁(yè)間數(shù)據(jù)共享的研究

    邵珠貴 楊惠英

    (吉林電大分校,吉林市 132002;東北電力大學(xué),吉林市 132002)

    利用ASP.NET C#開(kāi)發(fā)基于B/S模式的應(yīng)用系統(tǒng),通常是由多個(gè)頁(yè)面構(gòu)成的整體。頁(yè)面之間必然存在數(shù)據(jù)的傳遞,即存在數(shù)據(jù)的共享問(wèn)題。解決好頁(yè)面之間的數(shù)據(jù)共享是開(kāi)發(fā)高質(zhì)量應(yīng)用系統(tǒng)的重要前提,若解決不好會(huì)給系統(tǒng)的安全運(yùn)行帶來(lái)隱患。本文參考相關(guān)資料結(jié)合開(kāi)發(fā)實(shí)踐對(duì)ASP.NET網(wǎng)頁(yè)的數(shù)據(jù)共享問(wèn)題進(jìn)行了較為詳細(xì)的總結(jié)和探討。

    asp.net;數(shù)據(jù)共享;編程

    一、引言

    利用ASP.N ET C#開(kāi)發(fā)基于B/S模式的應(yīng)用系統(tǒng),往往是由許多頁(yè)面構(gòu)成的一個(gè)復(fù)雜整體。這些頁(yè)面共同協(xié)調(diào)實(shí)現(xiàn)用戶所需要的功能,頁(yè)面之間必然存在內(nèi)在聯(lián)系,存在數(shù)據(jù)的傳遞,即存在數(shù)據(jù)的共享問(wèn)題。即使在同一頁(yè)面中,內(nèi)部各函數(shù)之間也需要數(shù)據(jù)共享。解決好頁(yè)面的數(shù)據(jù)共享是開(kāi)發(fā)高質(zhì)量應(yīng)用系統(tǒng)的重要前提,否則會(huì)使系統(tǒng)的數(shù)據(jù)紊亂,導(dǎo)致系統(tǒng)復(fù)雜度提高,使開(kāi)發(fā)工作事倍功半,給系統(tǒng)的安全運(yùn)行帶來(lái)隱患。

    二、網(wǎng)頁(yè)數(shù)據(jù)共享常見(jiàn)的幾種基本情況

    1、同一網(wǎng)頁(yè)內(nèi)的數(shù)據(jù)共享

    在利用ASP.N ET開(kāi)發(fā)的系統(tǒng)中,每個(gè)頁(yè)面對(duì)應(yīng)一個(gè)程序文件,而每個(gè)程序文件是由多個(gè)函數(shù)組成的,在函數(shù)之間需要數(shù)據(jù)共享;另外 HTTP協(xié)議是一種無(wú)狀態(tài)的通信協(xié)議,每個(gè)連接都是全新的開(kāi)始。在頁(yè)面狀態(tài)發(fā)生變化時(shí)即對(duì)一個(gè)頁(yè)面進(jìn)行刷新時(shí),刷新前后的頁(yè)面也需要數(shù)據(jù)共享。

    2、同一瀏覽器窗口不同網(wǎng)頁(yè)間的數(shù)據(jù)共享

    一般情況實(shí)現(xiàn)某一個(gè)功能是需要多個(gè)網(wǎng)頁(yè)聯(lián)合共同完成的,當(dāng)客戶端用戶在同一個(gè)瀏覽器窗口先后進(jìn)入這些頁(yè)面 (不是中途打開(kāi)直接進(jìn)入),有時(shí)前面的頁(yè)面會(huì)向它轉(zhuǎn)向打開(kāi)的后面頁(yè)面?zhèn)魉蛿?shù)據(jù),即這些頁(yè)面也是存在數(shù)據(jù)共享的問(wèn)題。例如前一個(gè)網(wǎng)頁(yè)的輸入數(shù)據(jù)或處理結(jié)果被后一個(gè)網(wǎng)頁(yè)所使用。

    3、同一用戶機(jī)器不同窗口間的數(shù)據(jù)共享

    當(dāng)用戶在同一臺(tái)機(jī)器上先后打開(kāi)多個(gè)瀏覽器窗口,瀏覽同一個(gè)網(wǎng)站的相同或不同的網(wǎng)頁(yè)時(shí),本用戶的數(shù)據(jù)有時(shí)需要在不同時(shí)間重復(fù)使用,即存在同一用戶機(jī)器不同窗口間的數(shù)據(jù)共享的問(wèn)題。例如在個(gè)人專用機(jī)器上用戶的一些登錄信息可以重復(fù)使用的,不必每次都重新輸入這些登錄信息。

    4、不同用戶機(jī)器間的數(shù)據(jù)共享

    當(dāng)有不同用戶同時(shí)或不同時(shí)在不同機(jī)器上瀏覽相同或不同的網(wǎng)頁(yè)時(shí),用戶之間有時(shí)也會(huì)有數(shù)據(jù)的聯(lián)系,例如統(tǒng)計(jì)頁(yè)面的訪問(wèn)次數(shù)或記錄網(wǎng)站的在線人數(shù)時(shí)就需要統(tǒng)計(jì)訪問(wèn)本網(wǎng)頁(yè) (網(wǎng)站)的所有訪問(wèn)用戶。這些用戶可能是同時(shí)或不同時(shí)在不同機(jī)器上瀏覽的。

    三、網(wǎng)頁(yè)數(shù)據(jù)共享常用的幾種解決方案

    1、關(guān)于同一網(wǎng)頁(yè)內(nèi)的數(shù)據(jù)共享的解決方案

    *利用類的實(shí)例

    可以在系統(tǒng)文件夾App-Code中設(shè)計(jì)自定義類,在頁(yè)面類的變量聲明處可以創(chuàng)建這個(gè)類的實(shí)例,而這個(gè)類的實(shí)例就類似頁(yè)面的全局變量,在頁(yè)面中的每個(gè)函數(shù)都可以使用。

    *利用服務(wù)器控件

    服務(wù)器控件在頁(yè)面運(yùn)行過(guò)程中具有保存數(shù)據(jù)的功能,例如 TextBox控件在頁(yè)面被提交 (Post-Back)前后,它的 Text的屬性值不會(huì)發(fā)生改變的,因此可以利用服務(wù)器控件實(shí)現(xiàn)在頁(yè)面不同狀態(tài)下的數(shù)據(jù)共享。

    *利用View State對(duì)象

    View State對(duì)象可以用來(lái)保存頁(yè)面中的各種變量,甚至是對(duì)象。

    “有些數(shù)據(jù)可以直接保存到View State中,諸如字符串、整數(shù)、布爾、數(shù)組表、哈希表等?!狈?wù)器端會(huì)為每個(gè)連接到該頁(yè)面的用戶分別建立一個(gè)V iew State,相當(dāng)于頁(yè)面級(jí)全局變量,但是一旦退出當(dāng)前頁(yè)面,它就會(huì)丟失。使用格式是:保存數(shù)據(jù)View State[“數(shù)據(jù)名稱”]=數(shù)據(jù);讀取數(shù)據(jù)變量=(int)View State[“數(shù)據(jù)名稱”]。

    2、關(guān)于同一瀏覽器窗口不同網(wǎng)頁(yè)間數(shù)據(jù)共享的解決方案

    *利用Response與request進(jìn)行參數(shù)傳遞

    Response與 request是asp.net提供的兩個(gè)常用內(nèi)置對(duì)象。Response對(duì)象主要功能是向?yàn)g覽器輸出信息。該對(duì)象使用redirect方法可以重定向到其他頁(yè)面,并且可以使用連接地址攜帶參數(shù)。其格式是:Response(“URL地址 ?參數(shù)列表”)。Request對(duì)象是與 Response對(duì)象相對(duì)應(yīng)的對(duì)象。利用 Request對(duì)象可以讀取 Response對(duì)象在其他網(wǎng)頁(yè)提交過(guò)來(lái)的數(shù)據(jù)。其使用格式是:Request[“參數(shù)名”]。因此利用Response與 request的參數(shù)傳遞可以實(shí)現(xiàn)網(wǎng)頁(yè)間的數(shù)據(jù)共享。

    *利用Session對(duì)象

    Session對(duì)象也是asp.net提供的一個(gè)常用內(nèi)置對(duì)象。該對(duì)象可以實(shí)現(xiàn)同一用戶多個(gè)網(wǎng)頁(yè)間數(shù)據(jù)的共享,Session對(duì)象是面向?yàn)g覽器窗口的 (即是用戶級(jí)的),每個(gè)瀏覽器窗口都有自己獨(dú)立的Session互不干擾。當(dāng)用戶在應(yīng)用程序的Web頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在 Session對(duì)象中的變量不會(huì)丟失,而是在整個(gè)用戶會(huì)話中一直存在下去,直到用戶離開(kāi)這個(gè)網(wǎng)站為止。因此可以利用Session對(duì)象實(shí)現(xiàn)同一用戶網(wǎng)頁(yè)間的數(shù)據(jù)共享。Session對(duì)象的使用格式:讀取數(shù)據(jù)變量=Session[索引號(hào)|“數(shù)據(jù)名稱”];保存數(shù)據(jù) Session[索引號(hào) |“數(shù)據(jù)名稱”] =數(shù)據(jù)。

    3、關(guān)于同一用戶機(jī)器不同窗口間數(shù)據(jù)共享的解決方案

    *利用Cookies對(duì)象

    Cookies對(duì)象是可以用來(lái)進(jìn)行數(shù)據(jù)共享的另外一種對(duì)象。Cookies對(duì)象是依附于 Response與 request對(duì)象的子對(duì)象,不能單獨(dú)使用。Cookiess是與Web站點(diǎn)關(guān)聯(lián)而不是與具體網(wǎng)頁(yè)關(guān)聯(lián)的,無(wú)論用戶瀏覽站點(diǎn)中哪個(gè)頁(yè)面,瀏覽器和服務(wù)器都交換網(wǎng)站的Cookies信息。Cookies的數(shù)據(jù)是以文本形式存在客戶端的機(jī)器中,因此Cookies對(duì)象是面向機(jī)器的,可以使同在該機(jī)器上分別打開(kāi)的不同瀏覽器窗口共享數(shù)據(jù)。Cookies對(duì)象使用格式:保存數(shù)據(jù)Response.Cookies[“數(shù)據(jù)名稱”].value=數(shù)據(jù);讀出數(shù)據(jù) data=Request.Cookies[“數(shù)據(jù)名稱”]. value。

    4、關(guān)于不同用戶機(jī)器間數(shù)據(jù)共享的解決方案

    *利用App lication對(duì)象

    App lication是一個(gè)面向應(yīng)用程序級(jí)的對(duì)象,用于保存所有用戶共用的數(shù)據(jù)信息,這些信息對(duì)所有用戶是共享的。因此,可以利用App lication對(duì)象實(shí)現(xiàn)應(yīng)用程序的所有用戶之間共享數(shù)據(jù)。App lication對(duì)象的使用格式:讀取數(shù)據(jù)數(shù)據(jù)=App lication [索引號(hào)|“數(shù)據(jù)名稱”];保存數(shù)據(jù)App lication[索引號(hào)|“數(shù)據(jù)名稱”]=數(shù)據(jù)。

    *利用文件或數(shù)據(jù)庫(kù)實(shí)現(xiàn)

    以上大多數(shù)的共享方法當(dāng)IIS或者機(jī)器關(guān)閉之后,存放在對(duì)象中的數(shù)據(jù)也隨之消失,如果想要在IIS或者機(jī)器關(guān)閉之后數(shù)據(jù)仍然能夠長(zhǎng)期保存共享,就必須將共享數(shù)據(jù)存到文件或數(shù)據(jù)庫(kù)里,需要時(shí)再?gòu)奈募驍?shù)據(jù)庫(kù)中取出。Stream Reader對(duì)象是.N ET提供的專門(mén)用于讀取文件的對(duì)象; StreamW riter是寫(xiě)入文件的專用對(duì)象。兩個(gè)對(duì)象都有相應(yīng)的方法用來(lái)完成文件的讀出和寫(xiě)入。數(shù)據(jù)庫(kù)可以是一些常用的后臺(tái)數(shù)據(jù)庫(kù),ASP.N ET提供了專門(mén)的操作數(shù)據(jù)庫(kù)的對(duì)象及方法,利用這些對(duì)象及方法可以完成對(duì)數(shù)據(jù)庫(kù)的具體操作。

    四、結(jié)束語(yǔ)

    綜上所述,利用ASP.NET C#開(kāi)發(fā)基于B/S模式的應(yīng)用系統(tǒng)時(shí),網(wǎng)頁(yè)間數(shù)據(jù)共享的情況比較多,解決的方法也不盡相同。在實(shí)際編程時(shí)需要根據(jù)實(shí)際情況采取綜合的解決方案。

    [1]徐新華.精通ASP.Net 2.0[M].北京:機(jī)械工業(yè)出版社,2006:101.

    [2]劉培義.ASP.Net程序設(shè)計(jì)教程 [M].北京:科海電子出版社,2009:75.

    [3]宮繼兵.ASP.Net 2.0 Web數(shù)據(jù)庫(kù)開(kāi)發(fā)教程[M].北京:機(jī)械工業(yè)出版社,2009,94.

    TP393

    A

    1008-7508(2012)01-0134-03

    2011-09-26

    邵珠貴 (1955~),吉林市人,吉林電大分校副教授,主要從事計(jì)算機(jī)應(yīng)用的教學(xué)和信息管理軟件的開(kāi)發(fā)。楊惠英 (1958~),女,吉林市人,東北電力大學(xué)副教授.主要從事計(jì)算機(jī)應(yīng)用的教學(xué)和信息管理軟件的開(kāi)發(fā)。

    猜你喜歡
    吉林市瀏覽器網(wǎng)頁(yè)
    吉林省吉林市松江東路小學(xué)校
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    吉林市糧食局 推動(dòng)落實(shí)糧食安全省長(zhǎng)責(zé)任制
    基于CSS的網(wǎng)頁(yè)導(dǎo)航欄的設(shè)計(jì)
    電子制作(2018年10期)2018-08-04 03:24:38
    基于URL和網(wǎng)頁(yè)類型的網(wǎng)頁(yè)信息采集研究
    電子制作(2017年2期)2017-05-17 03:54:56
    環(huán)球?yàn)g覽器
    再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
    網(wǎng)頁(yè)制作在英語(yǔ)教學(xué)中的應(yīng)用
    中國(guó)石油吉林石化公司產(chǎn)品銷(xiāo)售信息
    化工科技(2014年1期)2014-06-09 06:11:58
    中國(guó)石油吉林石化公司產(chǎn)品銷(xiāo)售信息
    彈性體(2014年1期)2014-05-21 03:11:29
    齐河县| 赤峰市| 雷山县| 策勒县| 浪卡子县| 栾城县| 铜山县| 南汇区| 佛教| 深水埗区| 历史| 祁连县| 荃湾区| 当雄县| 潮州市| 永安市| 仙游县| 凤翔县| 枝江市| 宝坻区| 文昌市| 邓州市| 杂多县| 天长市| 托里县| 休宁县| 新干县| 云霄县| 儋州市| 洛阳市| 讷河市| 斗六市| 洪湖市| 兴安盟| 商河县| 临江市| 乐都县| 江源县| 高淳县| 来凤县| 长春市|