来一篇关于NET的ASP.NET HttpApplication 属性 Session(HttpSessionState)详解
捆绑编译器。用户不需要受制于厂家,自己就能将程序在新平台上编译运行。除了牛B轰轰的linux,估计也没有系统捆绑c/c++的编译器,而且许多新平台都无法支持复杂的c/c++编译器在上面直接运行。·MSDN:供应对会话形态值和会话级别设置和保存期办理办法的会见。·范例:System.Web.SessionState.HttpSessionState
·ASP.NET供应了会话形态办理,使您能够依据多种哀求存储与独一扫瞄器会话相干联的信息。您能够存储由键名或数字索引援用的值的汇合。您可使用HttpSessionState类会见会话值和功效,该类可经由过程以后HttpContext的Session属性或Page的Session属性举行会见。
·会话数据经由过程独一标识符与特定扫瞄器会话互相联系关系。默许前提下,该标识符存储在扫瞄器的不外期会话Cookie中,可是您也能够在使用程序设置的sessionState元素中,将cookieless特征设置为true或UseUri,以此办法设置使用程序,将会话标识符存储在URL中。您能够经由过程指定cookieless特征的UseDeviceProfile值,让ASP.NET断定扫瞄器是不是撑持Cookie。您也能够为cookieless特征指定AutoDetect值,让ASP.NET断定是不是为扫瞄器启用Cookie。假如指定UseDeviceProfile后扫瞄器撑持Cookie,或指定AutoDetect后扫瞄器启用了Cookie,则会话标识符将存储在Cookie中;不然它将存储在URL中。
·第一次哀求过程当中会话将会启动,而且在到达Timeout属性中指定的分钟数之前假如扫瞄器未发送新的哀求,以后的会话值将延续无效。新会话入手下手后将激发会话Start事务。会话启动时您可使用此事务实行任何其他事情,比方设置默许会话值。假如会话超时,将挪用Abandon办法,大概封闭ASP.NET使用程序,此时将激发会话End事务。您可使用此事务实行任何须要的清算操纵。仅当会话形态mode被设置为InProc时,才激发End事务。
·若要进步功能,只要数据的确存储在Session工具中后,利用Cookie的会话才会分派会话存储。
·会话形态的延续性不会超过ASP.NET使用程序的界限。假如扫瞄器定位到另外一使用程序,则以后的会话信息对新使用程序不再无效。
·默许前提下,会话值存储在Web服务器的内存中。您也能够把会话值存储在SQLServer数据库、ASP.NET形态服务器或自界说服务器中。一旦ASP.NET或IIS历程或ASP.NET使用程序从头启动,这类举动能够保留会话值,而且它还可使会话值在收集场的一切服务器间可用。要设置这类举动,请在使用程序设置的sessionState元素中把mode特征设置为无效的SessionStateMode值。
·会话形态大概会过时(默许情形下,在处于不举动形态20分钟后过时),而在个中存储的信息大概会丧失。可使用sessionState设置节的timeout属性把持会话形态保存期。
经常使用办法和属性:
经常使用办法:
//向会话形态汇合增加一个新项。
Session.Add(UserNamezz);
//删除会话形态汇合中的项。再次猎取时前往null
Session.Remove(UserName);
Session.RemoveAt(0);
//从会话形态汇合中移除一切的键和值。
Session.Clear();
Session.RemoveAll();
//作废以后会话,入手下手新的会话,即一个全新的Session工具
//注:一样平常在会话超不时挪用,能够设置新的会话是不是利用旧SessionID
Session.Abandon();
·诡异办法:
//界说一个数组,有长度就行,值无所谓
object[]objs=newobject;
//将会话形态值的汇合复制到数组中,从数组的指定索引处入手下手,索引之前的值稳定,索引以后的被掩盖
//数组长度不敷将会抛数组越界非常
Session.CopyTo(objs,5);
//怎样添补,怎样取,实际上应当前往值,现实上前往的都是键
objectobj5=objs;
·经常使用属性:
//按数字索引猎取或设置会话值。Item(读写属性)
Session=zz;
objectobj1=Session;
//按称号猎取或设置会话值。Item(读写属性)
Session=zz;
objectobj2=Session;
//猎取会话形态汇合中的项数。
intcount=Session.Count;
//猎取存储在会话形态汇合中一切值的键的汇合。
//usingSystem.Collections.Specialized;
NameObjectCollectionBase.KeysCollectionkeys=Session.Keys;
//猎取会话的独一标识符。
stringid=Session.SessionID;
//猎取一个值,该值唆使会话是不是是与以后哀求一同创立的。
boolisNewSession=Session.IsNewSession;
//猎取一个值,该值唆使会话是不是为只读。
boolisReadOnly=Session.IsReadOnly;
//猎取一个值,该值唆使会话ID是嵌进在URL中仍是存储在HTTPCookie中。
boolisCookieless=Session.IsCookieless;
//猎取一个值,该值唆使是不是为无Cookie会话设置使用程序。默许值为UseCookies。(只读)
HttpCookieModehm=Session.CookieMode;
//猎取以后会话形态形式。默许值为InProc(只读)
SessionStateModessm=Session.Mode;
//猎取并设置在会话形态供应程序停止会话之前各哀求之间所同意的工夫(以分钟为单元,默许值为20)。
inttimeOut=Session.Timeout;
不可能天天有学习.net),我一同学说,你应该早就有作品啦。我惶惶然…… 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
页:
[1]