资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第5章 ASP.NET中的对象,5.1 基本输出对象Response,Response对象属于HttpResponset类,当Page类的Response属性被访问时,它返回该对象,然后开发者就可以使用该对象中的方法。该类的主要属性有: Buffer:获取或设置一个值,该值指示是否缓冲输出,并在完成处理整个响应之后将其发送。 ContentType:获取或设置输出流的HTTP MIME类型。 Cookies:获取响应Cookie集合。 Clear:清除缓冲区流中的所有内容输出。 Redirect:将客户端重定向到新的URL,5.1 基本输出对象Response,Write方法用于将信息写入HTTP响应输出流,输出到客户端显示,其语法定义如下所示。 public void Write(char, int, int); public void Write(string); public void Write(object); public void Write(char); WriteFile可以将指定的文件直接写入HTTP响应输出流,其语法 定义如下所示。 public void WriteFile(string filename); public void WriteFile(string filename, long offset, long size); public void WriteFile(IntPtr fileHandle, long offset, long size); public void WriteFile(string filename, bool readIntoMemory);,1. 输出字符串和文件,5.1 基本输出对象Response,Response对象的Redirect 方法可以将客户端重定向到新的URL,其语法定义如下所示。 public void Redirect(string url); public void Redirect( string url, bool endResponse); 其中,url为要重新定向的目标网址,endResponse 指示当前页的执行是否应终止。,2. 网页重定向,5.2 基本输入对象Request,访问Page类的Request属性时,它返回HttpRequest的一个对象。然后开发者就可以使用该对象中的方法。该属性提供对当前页请求的访问,其中包括请求标题、Cookie、客户端证书、查询字符串等。HttpRequest类的常见属性有: ApplicationPath:说明被请求的页面位于Web应用程序的哪一个文件夹中。 Path:与ApplicationPath相同,即返回页面完整的Web路径地址,而且还包括页面的文件名称。 PhysicalApplicationPath:返回页面的完整路径,但它位于物理磁盘上,而不是一个Web地址。 Cookies:查看访问者在以前访问本站点时使用的cookies。,在Page_Load事件中进行处理,以便获得浏览器的信息。代码如下: protected void Page_Load(object sender, EventArgs e) if(!IsPostBack) Label1.Text = Request.UserHostName; Label2.Text = Request.UserHostAddress; Label3.Text = Request.UserLanguages0; ,1. 获取浏览器信息,5.2 基本输入对象Request,在Page_Load事件中进行处理,以便获得HTTP的信息。代码如下: protected void Page_Load(object sender, EventArgs e) . Response.Write(“利用Request对象获取HTTP中的信息“); NameValueCollection coll = Request.Headers; String arr1 = coll.AllKeys; for (int loop1 = 0; loop1 “); ,5.2 基本输入对象Request,2. 获取HTTP中的信息,Server对象提供了对服务器信息的封装,例如封装了服务器的名称。Server对象实际上操作System.Web命名空间中的HttpServerUtility类 。Server对象提供许多访问的方法和属性帮助程序有序的执行。Server对象常用属性和方法有: MachineName:获取服务器的计算机名称。 ScriptTimeout:获取和设置请求超时(以秒计)。 Transfer方法:终止当前页的执行,并为当前请求开始执行新页。 MapPath方法:返回与Web服务器上的指定虚拟路径相对应的物理文件路径。 HtmlEncode方法:对要在浏览器中显示的字符串进行编码。,5.3 Server对象,Server对象的HtmlEncode方法用于对要在浏览器中显 示的字符串进行编码,其语法定义如下所示。 public string HtmlEncode(string s); public void HtmlEncode(string s, TextWriter output); Server对象的HtmlDecode方法用于对已进行HTML编码 的字符串进行解码,是HtmlEncode方法的反操作,其语 法定义如下所示。 public string HtmlDecode(string s); public void HtmlDecode( string s, TextWriter output);,5.3 Server对象,1. 利用Server对象进行HTML编码解码,Server对象的UrlEncode方法用于编码字符串,以便通过URL从Web服务器到客户端进行可靠的HTTP传输。 UrlEncode方法的语法定义如下所示。 public string UrlEncode( string s); public void UrlEncode(string s, TextWriter output); Server对象的UrlDecode方法用于对字符串进行解码,该字符串为了进行HTTP传输而进行编码并在URL中发送到服务器。UrlDecode方法的语法定义如下所示。 public string UrlDecode(string s); public void UrlDecode(string s, TextWriter output);,5.3 Server对象,2.利用Server对象进行URL编码和解码,5.4 Session对象,Session对象实际上操作System.Web命名空间中的HttpSessionState类 。Session对象可以为每个用户的会话存储信息。Session对象中的信息只能被用户自己使用,而不能被网站的其他用户访问,因此可以在不同的页面间共享数据,但是不能在用户间共享数据。 当每个用户首次与服务器建立连接时,服务器就会为其建立了一个Session(会话),同时服务器会自动为用户分配一个SessionID,用以标识这个用户的唯一身份。Session对象具有两个事件:Session_OnStart事件和Session_OnEnd事件。Session_OnStart事件在创建一个Session时被触发,Session_OnEnd事件在用户Session结束时被调用。 对于每个用户的每次访问Session对象是唯一的,此外,Session对象的有效性是受时间限制的。,对于每个用户的每次访问Session对象是唯一的,这包括两个含义: 对于某个用户的某次访问,Session对象在访问期间唯一,可以通过Session对象在页面间共享信息。只要Session没有超时,或者Abandon方法没有被调用,Session中的信息就不会丢失。Session对象不能在用户间共享信息,而Application对象可以在不同的用户间共享信息。 对于用户的每次访问其Session都不同,两次访问之间也不能共享数据,而Application对象只要没有被重新启动,可以在多次访问间共享数据。,5.4 Session对象,5.5 Cookie对象,Cookie对象实际是System.Web命名空间中HttpCookie类的对象。Cookie对象为Web应用程序保存用户相关信息提供了一种有效的方法。当用户访问某个的站点时,该站点可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问该的站点时,应用程序就可以检索以前保存的信息。 当用户第一次访问某个站点时,Web应用程序发送给该用户一个页面和一个包含日期和时间的Cookie。用户的浏览器在获得页面的同时还得到了这个Cookie,并且将它保存在用户硬盘上的某个文件夹中。 ASP.NET包含两个内部Cookie集合:Request对象的Cookies 集合和Response的Cookies集合。,访问Cookie的方法: HttpCookie MyCookie = new HttpCookie(“LastVisit“); DateTime now = DateTime.Now; MyCookie.Value = now.ToString(); MyCookie.Expires = now.AddHours(1); Response.Cookies.Add(MyCookie);,5.5 Cookie对象,5.6 Application对象,Application对象操作System.Web命名空间中的HttpApplicationState类。Application对象为经常使用的信息提供了一个有用的Web站点存储位置,Application中的信息可以被网站的所有页面访问,因此可以在不同的用户间共享数据。 Application包含Application_OnStart和Application_OnEnd两个事件,其中Application_OnStart在ASP.NET应用程序被执行时被触发,Application_OnEnd事件在ASP.NET应用程序结束执行时被触发。可以在Global.asax文件对这两个事件进行处理,添加用户自定义代码。,Lock和UnLock方法的使用 Application对象是一个集合对象,并在整个ASP.NET网站内可用,不同的用户在不同的时间都有可能访问Application对象的变量,因此Application对象提供Lock方法用于锁定对HttpApplicationState变量的访问以避免访问同步造成的问题。在对Application对象的变量访问完成后,需要调用UnLock方法取消对HttpApplicationState变量的锁定。,5.6 Application对象,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号