999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

“購物車”數據按需供給的Session實現

2011-12-31 00:00:00林向

摘要:ASP.Net是目前應用非常廣泛的web開發技術,使用Session實現電子商務網站的“購物車”模塊是目前web開發的主要手段。但是Session的使用必須謹慎。如果網站很大,不同的頁面使用同一個“購物車”保存信息,就會很容易造成數據錯誤。本文討論不同“購物車”數據按需供給的Session實現。

關鍵詞:ASP.Net Session 購物車

1 概述

大多數B/S結構的應用系統是采用HTTP協議通信的,由于HTTP協議無狀態的特征,因此在瀏覽器與服務器交互的過程中服務端需要維護客戶端的狀態。在B/S結構的系統中,購物車是客戶在選購商品時臨時存放數據的地方,是狀態管理的典型功能。本文中將類似于購物車在瀏覽器和服務器之間需要進行狀態管理的數據稱之為“購物車數據”。實現狀態管理的技術主要有兩類,一種是基于服務端的實現,如Session、數據庫的方式;另一種是基于客戶端的方式如Cookie等。本文將重點論述在使用Session技術處理“購物車數據”時如何避免沖突以及按需供給處理的問題。

2 “購物車”及其Session實現方法

2.1 購物車的概念和功能

“購物車”相當于現實生活中超市里的購物車,不同的是一個是實體車,一個是虛擬的。在電子商務網站選購商品時,可以像在超市里選購商品一樣,向虛擬“購物車”中添加自己需要的商品,而且可以在不同的頁面間跳轉而不丟失選購信息。所謂的“購物車”數據就是用戶在進行商品選購時產生的信息。服務器通過追蹤用戶的行為保證在結算時購物車與單據之間的對應關系。購物車的主要功能包括:

①添加商品;②刪除購物車中已有的商品;③修改購物車中已有商品的數量;④清空購物車;⑤顯示購物車中的商品信息。

2.2 購物車的Session實現

2.2.1 Session狀態管理

Session提供了可以保存和跟蹤用戶的狀態信息的功能,使當前用戶在Session中定義的變量和對象能在頁面之間共享,但是不能為應用中的其他用戶所訪問,因此利用Session實施對“購物車”的管理更為安全、有效。Session能很好地與交易雙方保持會話,可以忽視客戶端的設置。在購物車技術中得到了廣泛的應用。

2.2.2 Session實現購物車

Session是散列結構類型,以鍵值對的形式存儲數據。選購商品后可以采取如下方式將數據存入購物車:

Session[“MyCart”]=ShoppingCartObj;

用戶在選購物品后,可以查看購物車信息,也可以對購物車中已有的物品信息進行修改,可以采取如下方式讀取購物車信息:

cart=Session[\"MyCart\"]asShoppingCart;

2.3 “購物車”數據的應用 在WEB應用系統開發過程中,在很多情況下需要使用到類似于購物車的方式存儲數據,比如要跟蹤當前用戶的狀態、維護訂單的產品明細表、處理用戶項目信息等。

3 “購物車”數據按需供給

3.1 Session沖突 Session是以鍵名作為標識符存儲數據的,如果一個用戶在多個程序頁面中需要使用同一個頁面返回數據,并且這些數據是不同的,這個時候以固定鍵名的方式存儲數據就會發生問題。例如,用戶在新建銷售單時,必須使用Session對象保存銷售物品信息,如果使用了Session對象且會話未結束的情況下又利用Session對象創建采購單,此時的Session對象保存的信息是在創建銷售單時所保存的銷售物品信息,并非是用戶所希望獲取的采購單信息。這種情況就是Session對象的使用沖突。

3.2 按需供給 由上面的分析可知,“購物車”數據的沖突主要是由多個數據需方程序對同一個數據供方程序提出不同數據要求而導致Session鍵名沖突造成的。

因此可考慮將特征鍵名與需方程序URI連接起來作為動態鍵名,從而實現按需供給數據,避免了沖突。

4 基于Session按需供給實現

4.1設計思路

String類提供的GetHashCode()方法的實現為相同的字符串值返回相同的哈希代碼。因此,如果兩個String對象表示相同的字符串值,則它們返回相同的哈希代碼,該方法使用字符串中的所有字符生成相當隨機的分布式輸出,即使當輸入集中在某些范圍內時。

例如:stringstr1=\"A.aspx\";

stringstr2=\"B.aspx\";

stringstr3=\"Helloworld\";

stringstr4=\"Helloworld\";

則str1.GetHashCode()!=str2.GetHashCode().ToString();

str3.GetHashCode()==str4.GetHashCode().ToString();

在進銷存系統中,用戶在進行“購物車”選購物品時都是由不同單據的新建頁面進入的,例如銷售單新建頁——Sale_New.aspx。所以在使用Session創建“購物車”時首先判斷創建的“購物車”為哪個單據服務。

4.2實現方法

4.2.1 Sale_New.aspx頁面跳轉事件

stringUrl=Request.RawUrl;//獲取當前路徑

Response.Redirect(string.Format(\"Goods_List.aspx?Url={0}\",Url))

4.2.2 Sale_New.aspx頁面獲取“購物車”

stringcode=Request.RawUrl.GetHashCode().ToString();//通過String類提供的GetHashCode()方法產生一個值對Session進行標記

Goods_DTablegtable=1;

if(Session[code]!=1)

{

gtable=(Goods_DTable)Session[code];//獲取購物車物品信息

}

returngtable;

4.2.3 Goods_List.aspx頁面保存“購物車”數據

stringcode=\"\";

if(!string.IsNullOrEmpty(System.Web.HttpContext.Current.Request.QueryString[\"Url\"]))

{

stringUrl=

System.Web.HttpContext.Current.Request.QueryString[\"Url\"];

code=Url.GetHashCode().ToString();

Goods_DTablegtable=1;

/*將信息寫入內存中的表gtable*/

Session[code]=gtable;

}

當單據新建完成,即此次會話結束,Session[code]應及時清除。

5 結束語

以Session實現“購物車”功能的應用非常廣泛,在WEB應用系統中,實現購物車的主要難點是在于保證購物車與單據之間的對應關系。本文討論了在Asp.net中利用Session實現了數據的按需提給的實現。這種方法不僅有效地提高了系統的可靠性、安全性,同時也有利于網站的整體維護。

參考文獻:

[1]王世鋒,姚文琳,高桂霞.從ASP到ASP.NET的會話狀態管理.計算機與現代化,2007(2).

[2]吳學剛,伍海波.基于ASP技術的電子商務網站的設計與實現.電腦知識與技術,2010(12).

[3]徐照興,趙德福,劉武.基于Hashtable+Session技術的網上購物車的設計與實現.計算機與現代化,2010(6).

主站蜘蛛池模板: 国产新AV天堂| 国产精品尤物在线| 在线一级毛片| 72种姿势欧美久久久大黄蕉| 久久人妻系列无码一区| 国产成人久久综合777777麻豆| 久久青草热| 欧美中出一区二区| 一级香蕉视频在线观看| 福利视频一区| 亚洲色欲色欲www在线观看| 精品视频福利| 国产精品99久久久| 亚洲国产成人精品无码区性色| 亚洲美女一级毛片| 国产精品制服| 欧洲熟妇精品视频| 丰满少妇αⅴ无码区| 看你懂的巨臀中文字幕一区二区| 色哟哟精品无码网站在线播放视频| 国产丝袜无码精品| av午夜福利一片免费看| 青草视频在线观看国产| 国产视频一二三区| 欧美另类精品一区二区三区| 特级精品毛片免费观看| 欧美成人精品在线| 久久免费观看视频| 成人永久免费A∨一级在线播放| 天堂成人在线| 人与鲁专区| 99热免费在线| 亚洲第一成网站| 国产视频a| 四虎影视永久在线精品| 久久人妻xunleige无码| 国产视频 第一页| 国产午夜不卡| 五月婷婷伊人网| 亚洲欧美不卡视频| 精品久久高清| 国产对白刺激真实精品91| 欧美午夜在线视频| 亚洲第一极品精品无码| 国产麻豆aⅴ精品无码| 强奷白丝美女在线观看| 欧美一级色视频| 老司机精品一区在线视频| 六月婷婷激情综合| 欧美在线天堂| 伊人色在线视频| 一级毛片在线播放| 狂欢视频在线观看不卡| 日韩精品免费一线在线观看| lhav亚洲精品| 日本精品中文字幕在线不卡| 婷婷99视频精品全部在线观看| 九九久久99精品| 久草性视频| 亚瑟天堂久久一区二区影院| 日韩国产黄色网站| 免费在线一区| 国产成人禁片在线观看| 亚洲成人福利网站| 免费毛片全部不收费的| 久久国产亚洲欧美日韩精品| 91久久夜色精品国产网站 | 精品久久久久无码| 色综合五月| 婷婷激情亚洲| 亚洲乱伦视频| 欧洲亚洲欧美国产日本高清| 国产精品v欧美| 国产精品99在线观看| 99视频在线免费| 久久精品娱乐亚洲领先| 91精品亚洲| 99视频全部免费| 69av免费视频| 亚洲第一极品精品无码| 在线观看国产一区二区三区99| 免费观看男人免费桶女人视频|