1、WEB WEB 应应 用用 开开 发发单元单元5 5:内置对象:内置对象任务5:网站计数器(2)主 要 内 容Server对象的使用1Session对象的使用2学习目标掌握Server对象的使用方法掌握Session对象的使用方法技术应用的背景 基于B/S结构的Web 窗体是运用 HTTP 协议,而HTTP协议是无状态的,即它们不自动指示序列中的请求是否全部来自相同的客户端,或者单个浏览器实例是否一直在查看页面或站点。ASP.NET提供了很多状态管理机制,如:多个可使用的内置对象,它们各有各的特点。一、任务任务描述:任务描述:统计网站当前在线人数,如下图所示。Server对象是HttpServ
2、erUtility类的一个实例,它提供了服务器信息地封装,定义了一个与Web服务器相关的类,实现对服务器的方法和属性的访问。二、基本知识与技能内置对象Server1.1.ServerServer对象的属性和方法对象的属性和方法二、基本知识与技能内置对象Server2.Server2.Server对象的对象的HtmlEncode()HtmlEncode()方法方法实例10:Server对象的HtmlEncode编码方法protected void Page_Load(object sender,EventArgs e)Response.Write(的 Server对象);Response.Wri
3、te(Server.HtmlEncode(的 Server对象);二、基本知识与技能内置对象Server3.Server3.Server对象的对象的urlurl编码与解码编码与解码 当服务器向用户发送有关URL信息时,有一些符号如:/、&可能会被截断或误解,需要对URL进行编码编码后的文本为:%2fmore.aspx%3fpage%3d1 protected void Page_Load(object sender,EventArgs e)string str= void Page_Load(object sender,EventArgs e)string str= void Page_Loa
4、d(object sender,EventArgs e)Server.Execute(ResponseDemo1.aspx);Response.Write(执行本页);5.Server5.Server对象的对象的TransferTransfer用途:当一个页面根据不同条件去执行不同的功能(每个功能的实现由一个页面完成),当某个功能发生改变时,只需要去更改那一个页面就够了。protected void Page_Load(object sender,EventArgs e)Server.Transfer(ResponseDemo1.aspx);Response.Write(执行本页);4.Ser
5、ver4.Server对象的对象的ExecuteExecute方法方法二、基本知识与技能内置对象Server执行了ResponseDemo1.aspx页面后,再回来执行Response.write()语句最后一条语句并没有被执行。因为它已终止执行后不再回到本页面执行lSession中的数据保存在服务器端,客户端需要时创建它,不需要时销毁它(remove),使它不占用服务器内存。lSession对象中的信息只能被用户自己使用,每个连接的客户端都有各自的Session对象,不同的客户端不能互相存取Session变量lSession中可以保存任意类型的数据lSession默认的生命周期是20分钟,用
6、户也可以设置它。lSession变量对于每个会话都是独立的,每个会话都有一个SessionID,它是唯一的,由于24个字符组成。Session对象:表示会话状态,用来保存与当前会话相关的信息,它是HttpSessionState类的实例。二、基本知识与技能内置对象Session1.1.SessionSession对象的使用对象的使用实例11:Session对象的使用。protected void Page_Load(object sender,EventArgs e)Sessionuname=Tom;Response.Write(Sessionuname=+Sessionuname.ToStr
7、ing();Response.Write(Session.SessionID=+Session.SessionID);给Session“uname”赋值前后分别观察Session.SessionID值的变化情况 protected void Page_Load(object sender,EventArgs e)Sessionuname=Tom;Sessionuage=18;Sessionusalay=234.45;Sessionflag=false;Response.Write(Sessionuname=+Sessionuname);Response.Write(Sessionuage=+S
8、essionuage);Response.Write(Sessionusalay=+Sessionusalay);Response.Write(Sessionflag=+Sessionflag);运行结果:实例12:Session对象可以保存任意类型的数据。2.Session2.Session对象的对象的Abandon()Abandon()Abandon()可以删除所有的Session变量,它还会结束当前会话,触发Session_End事件语法:Session.Abandon()3.Session3.Session对象的超时对象的超时当Session超时时相当于执行了Abandon()如:Session.Timeout=1;/时间1分钟超时时间不能设置超过525600分钟(一年)也可以Web.config中设置如:二、基本知识与技能内置对象Session三、小结 学习了Server对象的使用方法 学习了Session对象的使用方法 本次学习的主要内容能保存页面的一些相关本次学习的主要内容能保存页面的一些相关信息,还可以实现页面间信息的传递的功能。信息,还可以实现页面间信息的传递的功能。