仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 501|回复: 9
打印 上一主题 下一主题

[学习教程] ASP网站制作之关于开释session

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:56:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
实现规模效益。与传统的用户拥有硬件软件所有权和使用权以及传统的应用服务商提供一对一的服务模式不同,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[string]: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的朋友有所帮助...
小妖女 该用户已被删除
5#
发表于 2015-2-1 16:20:33 | 只看该作者
作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
飘灵儿 该用户已被删除
6#
发表于 2015-2-7 08:26:48 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
活着的死人 该用户已被删除
7#
发表于 2015-2-21 06:16:28 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
小女巫 该用户已被删除
8#
发表于 2015-3-6 19:45:19 | 只看该作者
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
admin 该用户已被删除
9#
发表于 2015-3-13 07:08:29 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
谁可相欹 该用户已被删除
10#
发表于 2015-3-20 16:09:36 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-26 12:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表