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

    《ASP.NET程序設(shè)計》課程中頁面間傳值方法的探討

    2017-03-21 22:59:41李莉森干
    電腦知識與技術(shù) 2016年33期
    關(guān)鍵詞:瀏覽器生命周期應(yīng)用程序

    李莉+森干

    摘要:該文針對《ASP.NET程序設(shè)計》課程,介紹了動態(tài)網(wǎng)頁間傳值的不同方法,從生命周期、應(yīng)用范圍、數(shù)據(jù)集的大小和類型討論了這些方法的異同和優(yōu)缺點(diǎn),以期能夠讓學(xué)生掌握這些方法及其特點(diǎn),在實(shí)際應(yīng)用中能夠結(jié)合具體問題選擇有效的方法。

    關(guān)鍵詞:ASP.NET;頁面?zhèn)髦?;QueryString;Application;Session;Cookie;Server.Transfer

    中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)33-0136-02

    1 背景

    《ASP.NET程序設(shè)計》課程是我校信息管理與信息系統(tǒng)專業(yè)的一門專業(yè)課,也是一門實(shí)踐型課程。其教學(xué)目的是培養(yǎng)學(xué)生掌握動態(tài)網(wǎng)站的設(shè)計、開發(fā)和編程能力,熟悉動態(tài)網(wǎng)站的開發(fā)流程,能自主開發(fā)一個簡單的動態(tài)網(wǎng)站,并進(jìn)行維護(hù)。這門課涉及的內(nèi)容豐富、知識點(diǎn)多,且知識的關(guān)聯(lián)性、實(shí)踐性和綜合性較強(qiáng)。要求授課教師不僅僅對課程內(nèi)容和教材熟悉,還要求有一定的軟件開發(fā)和設(shè)計的經(jīng)驗(yàn),通過項(xiàng)目驅(qū)動來覆蓋知識點(diǎn),并進(jìn)行拓展,確保知識的完整性。

    例如,動態(tài)網(wǎng)站架構(gòu)時,如何實(shí)現(xiàn)瀏覽器和Web服務(wù)器之間的數(shù)據(jù)交互是非常重要的,其中選擇合適的方法實(shí)現(xiàn)頁面之間一個或多個參數(shù)的傳遞尤為關(guān)鍵。當(dāng)然,ASP.NET為頁面之間的數(shù)據(jù)傳遞提供了多種不同的途徑,我們可以使用QueryString、Application、Session、Cookie和Server.Transfer等變量及其方法來實(shí)現(xiàn),但是我們應(yīng)該什么時候使用哪種方法呢?本文針對這個問題進(jìn)行了探討,并對其進(jìn)行比較分析。

    2 問題描述

    首先我們將問題定義為:有兩個web頁面a.aspx和b.aspx,在a.aspx中有一個textbox1和button1,在b.aspx中有一個label1。運(yùn)行時,用戶在頁面a.aspx中的textbox1輸入信息后,如何實(shí)現(xiàn)單擊button1彈出b.aspx,并將textbox1中的值傳遞到label1中呢?

    解決這個問題,需要考慮下面三個方面:

    1)哪些用戶需要數(shù)據(jù)?

    2)數(shù)據(jù)集的類型和大???

    3)數(shù)據(jù)需要保持多長時間?

    通過分析實(shí)際問題的需求,我們就可以決定應(yīng)該使用哪種方法為ASP.NET應(yīng)用程序之間請求數(shù)據(jù)提供最佳的解決方案。

    3 解決方法及適用情況

    下面我們基于C#來闡述解決上述問題的各種方法,及其生命周期和應(yīng)用范圍。

    3.1 使用QueryString

    QueryString集合檢索HTTP查詢字符串中變量的值,HTTP查詢字符串由問號(?)后的值指定。

    QueryString是一種最簡單最常用的傳值方式,但被傳送的值會顯示URL中,對于用戶來說是可見的,因此使用這種方法時,需要對敏感數(shù)據(jù)變量進(jìn)行加密。其次,QueryString中保存的數(shù)據(jù)是由單獨(dú)的用戶使用,其大小一般1KB。其生命周期可能只有一個請求那么短,也可能有用戶使用應(yīng)用程序的時間那么長。因此,如果是傳遞一個或多個安全性要求不高或是結(jié)構(gòu)簡單的數(shù)值時,可以使用這個方法。

    3.2 使用Application對象

    Application可定義、聲明、設(shè)計“系統(tǒng)”層的變量、對象、事件處理過程,允許同一Web應(yīng)用程序的所有用戶共享其中的信息。默認(rèn)情況下,一個虛擬目錄下的所有ASP.NET文件便構(gòu)成了一個Web應(yīng)用程序。最常見的應(yīng)用就是網(wǎng)絡(luò)群聊,必須通過Application對象讓所有成員共享聊天信息及成員列表。

    由于Application對象是多用戶共享的,在一個時間只有1個用戶使用,需對Application對象進(jìn)行鎖定(Lock),操作完成之后再解鎖(UnLock)。

    3.3 使用Session對象

    Session傳值也是常見的方式之一,與Application對象頗為類似,但Session對象是來定義、聲明、設(shè)計“用戶”層的變量、對象及事件處理過程,即Session對象的信息只適用于同一位用戶,其生存期是用戶持續(xù)請求的時間再加上一段時間,一般是20分鐘。當(dāng)用戶在不同頁面跳轉(zhuǎn)時,存儲在Session對象中的用戶會話的信息不會被清除,還可以交叉?zhèn)鬟f到多個頁面,直至把Session變量的值Removed后才會消失。例如購物車、購物袋等,每一個人的預(yù)購列表會存儲在各自的Session變量中,不和他人共享。

    使用Sessions效率很低,因?yàn)榧词褂脩敉V故褂脩?yīng)用程序后它仍然保持在內(nèi)存中一段時間,這對于非常繁忙的站點(diǎn)的可伸縮性有嚴(yán)重的影響。

    對于小的數(shù)據(jù)量,使用Sessions保存只需要在用戶當(dāng)前會中的特定數(shù)據(jù),是很好的方法。但是使用Sessions效率很低,因?yàn)楫?dāng)用戶停止使用應(yīng)用程序后,它仍然在內(nèi)存中保留一段時間,這會影響站點(diǎn)的響應(yīng)效率。

    3.4 使用Cookie對象

    Cookie提供了一條靈活的、強(qiáng)大的維護(hù)用戶會話信息的途徑,伴隨著用戶請求和頁面在 Web 服務(wù)器和瀏覽器之間傳遞。其生命周期可與瀏覽器窗體一樣短,也可長達(dá)數(shù)月、數(shù)年。

    這個也是一種常用的方法,與Session一樣,是針對用戶而言的,但是有個本質(zhì)的區(qū)別:Cookie是存放在客戶端的,而session是存放在服務(wù)器端的。

    由于cookie對象不是所有瀏覽器都支持的,而且cookie作為簡單的明文文本保存在用戶的計算機(jī)中,可以被用戶禁止或刪除,因此我們不能使用cookie保存敏感的、未加密的數(shù)據(jù),同時還要考慮cookie被刪除的情況。

    3.5 使用Server.Transfer方法

    使用Server.Transfer方法把流程從當(dāng)前頁面引導(dǎo)到另一個頁面中,新的頁面使用前一個頁面的應(yīng)答流,所以這個方法是完全面向?qū)ο蟮?,簡潔有效。注意Server.Transfer只適合于服務(wù)器端重定向的頁面。

    4 結(jié)束語

    本文主要從不同方法的應(yīng)用范圍、數(shù)據(jù)類型和大小、生命周期等四個指標(biāo)對常用的5種傳值方法進(jìn)行了討論、分析,見表1。

    由此可見,每一種傳值方法都有其適用范圍和條件,都有不同的生命周期,所能處理數(shù)據(jù)的類型和大小也有所不同。因此,在實(shí)際的教學(xué)或開發(fā)應(yīng)用中,我們應(yīng)該對需求進(jìn)行仔細(xì)、全面的分析,考慮數(shù)據(jù)的類型、保密性,使用范圍和保持的時間,比較不同方法的應(yīng)用效果,權(quán)衡利弊,選擇合適的方法。

    參考文獻(xiàn):

    [1] 郭興峰, 陳建偉. ASP.NET動態(tài)網(wǎng)站開發(fā)基礎(chǔ)教程(C#篇)[M]. 北京: 清華大學(xué)出版社, 2006.

    [2] 楊學(xué)全. Visual C#.NET Web應(yīng)用程序設(shè)計[M]. 北京: 電子工業(yè)出版社, 2007.

    猜你喜歡
    瀏覽器生命周期應(yīng)用程序
    動物的生命周期
    全生命周期下呼吸機(jī)質(zhì)量控制
    從生命周期視角看并購保險
    中國外匯(2019年13期)2019-10-10 03:37:46
    刪除Win10中自帶的應(yīng)用程序
    電腦報(2019年12期)2019-09-10 05:08:20
    民用飛機(jī)全生命周期KPI的研究與應(yīng)用
    反瀏覽器指紋追蹤
    電子制作(2019年10期)2019-06-17 11:45:14
    環(huán)球?yàn)g覽器
    再見,那些年我們嘲笑過的IE瀏覽器
    關(guān)閉應(yīng)用程序更新提醒
    電腦迷(2012年15期)2012-04-29 17:09:47
    三星電子將開設(shè)應(yīng)用程序下載商店
    梅州市| 大竹县| 淮南市| 海阳市| 鄂温| 乐都县| 定远县| 靖边县| 读书| 乌兰县| 辽中县| 双流县| 育儿| 珲春市| 珠海市| 怀集县| 中山市| 信宜市| 德州市| 永丰县| 会同县| 黄山市| 威海市| 庆云县| 阿瓦提县| 娱乐| 浦城县| 闸北区| 永丰县| 蒲江县| 玉田县| 新晃| 成武县| 大理市| 郁南县| 庆安县| 平顺县| 海原县| 长阳| 江北区| 莲花县|