山那边是海 发表于 2015-1-16 22:56:53

ASP网站制作之关于开释session

实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。session
IfyouareusingASP3.0(theversionofASPthatcomeswithWindows2000/IIS5)thenyoucanusethefollowingsyntax:
Session.Contents.Remove"name"
whereNameisthenameoftheSessionvariableyouwishtoremove.RemovingSessionvariablesinthiswayhasitsadvantagesoverusingthefollowingmethod:
Session("Name")=Null
Namely,theabovemethod(settingaSessionvariabletoNull)onlyremovesthememoryassociatedwiththeSessionvariableitself...theSessionobjectstillmaintainsareferencetoit,though.EachSessionvariablesisstoredintheSessionobjectwithakey/itempair,similartotheScripting.Dictionaryobject.Therefore,usingtheNullmethodabove,youarenotremovingthekeyfromtheSessionContentscollectionthatcontainsthereferencetothevariable...
WiththeRemovemethodthatwelookedatfirst,youareremovingboththekeyanditemassociatedwithaSessionvariable.ThereisalsoaRemoveAllmethodthatcanbeusedtoscrapalloftheSessionvariablescompletely:
Session.Contents.RemoveAll
Again,theRemoveandRemoveAllmethodsarenewtoASP3.0.IfyouhaveASP2.0,youwillneedtousetheNullmethod

DeletingaSubsetofSessionVariables
WhenusingSessionstostorevariablesin,Iuseanamingconvention-forexample,forallCustomerrelatedinfoIprefixthesessionvariablewiththesubstringCustomer.(sofortheCustomerIDitwouldbeCustomer.ID,thecustomerusernamewouldbeCustomer.Name,etc.)Thisisveryusefulwhenviewingthesessionobjectsasyoucanseetherelatedobjectsstraightoff.
TheproblemIhadtheotherdaywasthatIwantedtoremoveonlythoseitemsfromtheSessionwhichwereprefixedSW..SofirstoffIusedthefollowingcode:
---------------------------------------
Session("SW.1")="Test1"
Session("SW.2")="Test2"
Session("Other")="Other"
ForEachSessionIteminSession.Contents
IfLeft(SessionItem,3)="SW."then
Session.Contents.Remove(SessionItem)
endif
Next
---------------------------------------
Thisseemsfine,butwhenitsrun,whathappensisthatSW.1isremoved,butSW.2isNOTremoved.Why?Imnotexactlysure,butIguessthattheindexisthenresetsothatSW.2isnowwhereSW.1was,andseeingaswehaveiteratedpastthatitemintheForEach...Nextstatement,theloopjustmovestoOther,missingoutSW.2altogether!Eek!
SotogetroundthisIwrotethefollowingfunction,whichwillproperlydeleteallSessionvariablesthatbeginwithaspecifiedsubstring:
---------------------------------------
functionSessionRemoveSelected(sItemPrefix)
/////////////////////////////////////////////////
RemoveSelectedItemsstartingwithsItemPrefix
fromtheSession.e.g.SS.willremoveSS.IDand
SS.NAMEbutnotCustomerIDReturnsTrueorFalse
dependingonwhetheranyitemswhereremoved.
---------------------------------------
sItemPrefix:ItemPrefix
/////////////////////////////////////////////////
dimarySession()
dimlCount,lPrefixLength
dimSessionItem
dimblnResult

lCount=-1
lPrefixLength=len(sItemPrefix)
blnResult=false

temporarilystoreinarrayitemstoremove
ForEachSessionIteminSession.Contents
ifleft(SessionItem,lPrefixLength)=sItemPrefixthen
lCount=lCount+1
redimpreservearySession(lCount)
arySession(lCount)=SessionItem
endif
Next
removeitems
ifIsArray(arySession)andlCount>=0then
forlCount=LBound(arySession)toUBound(arySession)
Session.Contents.Remove(arySession(lCount))
next
blnResult=true
endif
SessionRemoveSelected=blnResult
endfunction
-------------------------------------------------

实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,ASP拥有应用系统所有权,用户拥有使用权,应用系统集中放在ASP的数据中心中,集中管理,分散使用,以一对多的租赁的形式为众多用户提供有品质保证的应用技术服务,实现规模效益。

小魔女 发表于 2015-1-20 06:24:30

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

兰色精灵 发表于 2015-1-20 21:26:17

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

再现理想 发表于 2015-1-25 23:15:23

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

小妖女 发表于 2015-2-1 16:20:33

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

飘灵儿 发表于 2015-2-7 08:26:48

交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。

活着的死人 发表于 2015-2-21 06:16:28

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

小女巫 发表于 2015-3-6 19:45:19

多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。

admin 发表于 2015-3-13 07:08:29

如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。

谁可相欹 发表于 2015-3-20 16:09:36

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页: [1]
查看完整版本: ASP网站制作之关于开释session