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

基于.NET內(nèi)置對(duì)象的在線人數(shù)統(tǒng)計(jì)

2010-01-01 00:00:00馮翔宇
考試周刊 2010年5期

摘 要: ASP.NET具有七大內(nèi)置對(duì)象, 用ASP. NET編寫(xiě)虛擬社區(qū)、網(wǎng)上購(gòu)物等B/S程序時(shí),Application和Session對(duì)象具有舉足輕重的作用,能夠靈活合理地運(yùn)用這兩個(gè)對(duì)象是提高程序質(zhì)量的關(guān)鍵。

關(guān)鍵詞: .NET 內(nèi)置對(duì)象 在線人數(shù)統(tǒng)計(jì)

一、關(guān)鍵對(duì)象分析

我們可以把Application看成一個(gè)用于存儲(chǔ)全局變量的容器,實(shí)際它只是一個(gè)對(duì)象,而ASP.NET應(yīng)用程序里面的變量,也就是容器里面的內(nèi)容。ASP.NET應(yīng)用程序是單個(gè)Web服務(wù)器上某一個(gè)虛擬目錄及其子目錄范圍內(nèi)所有文件、頁(yè)、處理程序、模塊、代碼的總和。可以在整個(gè)應(yīng)用程序范圍之內(nèi)存儲(chǔ)一些信息,我們可以用變量來(lái)存儲(chǔ)。但需要注意的是,變量的整個(gè)生命周期受限制于網(wǎng)頁(yè),即每一次ASP.NET文件被執(zhí)行完畢(Web服務(wù)器端發(fā)送代碼到客戶端后),變量的內(nèi)容便被釋放。很多時(shí)候,我們又需要保留這個(gè)內(nèi)容,比如論壇系統(tǒng),每次刷新后,頁(yè)面的內(nèi)容仍然要存在,這就需要Application來(lái)存儲(chǔ)。利用Application對(duì)象存儲(chǔ)的變量及對(duì)象在整個(gè)應(yīng)用程序內(nèi)執(zhí)行的所有ASP.NET頁(yè)面都是可用的。Application中存儲(chǔ)的是全局變量,這些變量占用了系統(tǒng)較多的內(nèi)存資源,在這個(gè)變量沒(méi)有被替代之前,所占用的資源是不會(huì)被釋放的。

Session對(duì)象和Application有很大不同。Application對(duì)象存儲(chǔ)信息是整個(gè)應(yīng)用程序所共享的全局信息,每一個(gè)客戶都能夠訪問(wèn)到的相同信息,針對(duì)整個(gè)應(yīng)用程序,并且整個(gè)程序里的每一個(gè)用戶。Session對(duì)象的作用是在服務(wù)器端存儲(chǔ)特定局部的的信息,是針對(duì)特定的一個(gè)用戶,Session中的信息也叫做會(huì)話狀態(tài)。我們用一個(gè)例子來(lái)說(shuō)明Session的使用。比如設(shè)計(jì)一個(gè)論壇。我們進(jìn)入論壇,提交用戶名和密碼后,發(fā)帖子、留言等都不需要再用用戶名和密碼了,這是因?yàn)橐呀?jīng)保留了注冊(cè)信息。我們登陸成功后,該系統(tǒng)已經(jīng)把用戶名和密碼等存放進(jìn)了Session對(duì)象,然后把信息返回到服務(wù)器,當(dāng)轉(zhuǎn)到下一個(gè)頁(yè)面時(shí),再?gòu)姆?wù)器取出信息來(lái)使用。我們留言或者發(fā)帖子的時(shí)候,就從 Web服務(wù)器的Session中取出用戶名和密碼來(lái)判斷我們是否有權(quán)利這么做。

ASP.NET的Application和Session對(duì)象,體現(xiàn)了其他ASP.NET內(nèi)置對(duì)象所沒(méi)有的特征,即事件。每一個(gè)用戶訪問(wèn)服務(wù)器時(shí)都會(huì)觸發(fā)一個(gè)OnStart事件,每個(gè)訪客的會(huì)話結(jié)束時(shí)都會(huì)觸發(fā)一個(gè)OnEnd事件。OnStart和OnEnd這兩個(gè)事件一般應(yīng)用于虛擬社區(qū)中統(tǒng)計(jì)在線人數(shù)、修改用戶的在線離線狀態(tài)等。要具體定義這兩個(gè)事件,需要將代碼寫(xiě)在Global.asa文件,并將該文件放在站點(diǎn)的根目錄下(缺省是\\Inetpub\\wwwroot\\)。另外,Application和Session對(duì)象規(guī)定了在OnEnd事件里除了Application對(duì)象外其他ASP內(nèi)置對(duì)象(Response、Request、Server、Session……)一概不能使用。以下舉一個(gè)虛擬社區(qū)統(tǒng)計(jì)在線人數(shù)的例子來(lái)說(shuō)明如何使用這兩個(gè)事件。

二、具體實(shí)現(xiàn)方法

在本例中,用application[\"online\"]變量記錄已經(jīng)登錄社區(qū)的在線人數(shù),因?yàn)橐坏┯杏脩粼L問(wèn)服務(wù)器而不論用戶是否登錄,都會(huì)產(chǎn)生OnStart事件,所以不能在OnStart事件里使Application[\"online\"]加一。因?yàn)椴徽撌欠袷堑卿浻脩舻臅?huì)話結(jié)束都會(huì)產(chǎn)生OnEnd事件(假如有訪客訪問(wèn)了服務(wù)器但并不登錄社區(qū),他的會(huì)話結(jié)束后也會(huì)產(chǎn)生OnEnd事件),所以在Session_OnEnd事件里用了if語(yǔ)句來(lái)判斷是否為已登錄用戶的OnEnd事件,如果是才將在線人數(shù)減一。

1.Global文件部分代碼

void Application_Start(object sender, EventArgse)

{

Application[\"total\"] = 0;//總?cè)藬?shù)

Application[\"online\"] = 0;//在線人數(shù)

//在應(yīng)用程序啟動(dòng)時(shí)運(yùn)行的代碼

}

void Session_Start(object sender, EventArgse)

{

Session.Timeout = 1;

Application.Lock();//防止并發(fā)

Application[\"total\"]=(int)Application[\"total\"]+1;

Application[\"online\"]=(int)Application[\"online\"]+1;

Application.UnLock();

}

void Session_End(object sender, EventArgse)

{

Session.Timeout = 1;

Application.Lock();

Application[\"online\"] = (int)Application[\"online\"] -1;

Application.UnLock();

}

2.CS文件部分代碼

protected void Page_Load(object sender, EventArgse)

{

this.l2.Text = Application[\"online\"].ToString();

this.l4.Text = Application[\"total\"].ToString();

}

至此,關(guān)鍵的代碼已經(jīng)完成了。在Application和Session的OnEnd事件里不能使用Server對(duì)象,所以要將數(shù)據(jù)庫(kù)的連接及數(shù)據(jù)庫(kù)在服務(wù)器上的物理地址(d:\\inetpub\\wwwroot\\bbs.mdb)存儲(chǔ)在application變量中,并在Application_OnStart事件中預(yù)先處理。同理,在Session_OnEnd事件中不能用session[\"pass\"]來(lái)代替session.contents[\"pass\"]。

這只是一個(gè)統(tǒng)計(jì)在線人數(shù)的簡(jiǎn)單例子,對(duì)于一個(gè)完整的虛擬社區(qū)來(lái)說(shuō),僅僅統(tǒng)計(jì)有多少人在線是不夠的,在本例中數(shù)據(jù)庫(kù)里有個(gè)online字段是用來(lái)記錄用戶的在線狀態(tài),用戶登錄的時(shí)候,在login.asp里將online設(shè)為1,但用戶離線時(shí)并沒(méi)有將online設(shè)為0,要完善它,就要修改一下Session_OnEnd事件,在該事件里將online設(shè)為0。

主站蜘蛛池模板: 亚洲欧美在线综合一区二区三区 | 99久久国产精品无码| 园内精品自拍视频在线播放| 另类欧美日韩| 91无码人妻精品一区| 亚洲日韩精品综合在线一区二区| jizz亚洲高清在线观看| 热99精品视频| 精品在线免费播放| 超清无码一区二区三区| 国产福利微拍精品一区二区| 亚洲AV永久无码精品古装片| 国产幂在线无码精品| 中文无码精品A∨在线观看不卡| 午夜福利视频一区| 日韩精品成人在线| 成年人国产视频| 久久亚洲AⅤ无码精品午夜麻豆| AV网站中文| 亚洲综合色在线| 中文字幕久久亚洲一区| 久久精品电影| 欧美精品伊人久久| 欧美日韩一区二区三区在线视频| 午夜爽爽视频| 欧美日韩精品综合在线一区| 四虎精品国产永久在线观看| 亚洲人成人无码www| 国产福利2021最新在线观看| 久久夜色精品| 五月丁香伊人啪啪手机免费观看| 国产精品视频公开费视频| 国产嫖妓91东北老熟女久久一| 欧美性久久久久| 五月婷婷丁香色| 草草影院国产第一页| 亚洲av无码专区久久蜜芽| 久久人人妻人人爽人人卡片av| 色婷婷综合激情视频免费看 | 欧美一区二区三区香蕉视| 国产精品观看视频免费完整版| 97国产在线播放| 99re这里只有国产中文精品国产精品 | 久久成人免费| 国产91av在线| 午夜啪啪网| 国产精品冒白浆免费视频| 凹凸国产分类在线观看| 国产网站黄| 毛片一级在线| 中文无码日韩精品| 黄色网站在线观看无码| 亚洲AV无码精品无码久久蜜桃| 久久鸭综合久久国产| 国内精品小视频福利网址| 伊人欧美在线| 91久久国产综合精品女同我| 手机在线免费毛片| 日本成人精品视频| 精品久久综合1区2区3区激情| 欧美国产菊爆免费观看| 又爽又大又光又色的午夜视频| 真人免费一级毛片一区二区| 综合亚洲色图| 国产对白刺激真实精品91| 亚洲最大看欧美片网站地址| 日本手机在线视频| 在线免费a视频| 国产无码精品在线| h视频在线观看网站| 国产麻豆aⅴ精品无码| 亚洲啪啪网| 亚洲欧美日韩动漫| 爆操波多野结衣| 亚洲综合色区在线播放2019| 天堂在线www网亚洲| 亚洲三级a| av午夜福利一片免费看| 无码一区18禁| 波多野结衣一二三| 欧美日韩第三页| 日韩欧美中文字幕在线精品|