ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:118.07KB ,
资源ID:11296577      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11296577.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(aspnet内置对象用法.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

aspnet内置对象用法.docx

1、aspnet内置对象用法RequestRequest封装了客户端请求信息。Request的常见属性如下:属性名值类型说明ApplicationPathString获取请求的资源在网站上的根路径ContentEncodingEncoding设置请求对象的编码CookiesHttpCookieCollection客户端发送到服务器的Cookie集合QueryStringNameValueCollection当前请求的查询字符串集合UrlReferrerUri获取用户由哪个url跳转到当前页面 Response Response代表了服务器响应对象。每次客户端发出一个请求的时候,服务器就会用一个响应

2、对象来处理这个请求,处理完这个请求之后,服务器就会销毁这个相应对象,以便继续接受其它客服端请求。Response常用属性如下:属性名值类型说明Charsetstring表示输出流的所使用的字符集ContentEncodingEncoding设置输出流的编码ContentLengthInt输出流的字节大小ContentTypestring输出流的HTTP MIME类型CookiesHttpCookieCollection服务器发送到客户端的Cookie集合OutputTextWriter服务器响应对象的字符输出流RedirectLocationstring将当前请求重定向Response常用方法

3、属性名返回值类型说明AppendCookievoid向响应对象的Cookie集合中增加一个CookieClearvoid清空缓冲区中的所有内容输出Closevoid关闭当前服务器到客户端的连接Endvoid终止响应,并且将缓冲区中的输出发送到客户端Redirectvoid重定向当前请求下面距离说明,用Dreamweaver8创建一个aspx页面,代码如下:1 2 3 4 5 6 Request例子7 8 9 10 Request11 ApplicationPath(网站路径)12 ContentEncoding(网页编码)13 Cookies个数14 QueryString个数15 UrlRe

4、ferrer(上一请求页面) 16 Response17 Charset18 ContentEncoding(网页编码)19 Cookies个数20 ContentType21 22 23 将新建的页面保存为RequestAndResponse.aspx并保存到C:/Inetpub/wwwroot下,然后打开浏览器在地址栏中输入:http:/localhost/RequestAndResponse.aspx,实际上url地址不区分大小写,以上地址全部小写也没有关系,运行结果如下: 从上面的结果我们可以看出利用Dreamweaver创建的网页,如果采用默认编码,请求对象的字符编码是UTF-8,而

5、响应对象的编码为gb2312。这样极有可能可能产生乱码问题。所谓乱码,就是用一种编码的字符串却用了另一种编码来显示,造成不能正常显示的现象。就像我用普通话说“请给我来一杯茶“,结果是一个只懂德育的人听了,他自然听不懂我说什么,不能正常交流。另外,需要说明的是常见的服务器响应的ContentType是“text/html”,代表响应是以HTML文件形式传输的。还有一些其它形式的ContentType,如下:image/jpeg:响应对象是jpeg图片text/xml:响应对象是xml文件text/javascript:响应对象是javascript脚本文件Response的ContentType

6、属性默认是“text/html”,表示服务器以HTML文件响应客户端请求,如果需要用其它方式响应客户端请求,则需要设置ContentType属性。假如我们需要用jpeg图片的格式响应客户端请求,则需要设置ContentType属性为“image/jpeg”,然后将图片内容输出到客户端,这样客户端就会看到jpeg格式的图片而不是HTML文件。 ServerServer对象是用于获取服务器的相关信息的对象。它常用方法如下:属性名返回值类型说明Executevoid执行指定的资源,并且在执行完之后再执行本页的代码HtmlDecodestring消除对特殊字符串编码的影响HtmlEncodestrin

7、g对特殊字符串进行编码MapPathstring获取指定相对路径在服务器上的无力路径Transfervoid停止执行当前程序,执行指定的资源UrlDecodestring对路径字符串进行解码UrlEncodestring对路径字符串进行编码上面的方法光从概念上来说,似乎还是让人不能分清他们到底有什么作用,特别Excure/ Transfer、HtmlEncode(HtmlDecode)/ UrlEncode(UrlDecode)这两组。在讲述他们分别之前先讲述MapPath这个方法的作用,在我们上传文件的时候要以物理路径保存上传文件到服务器,而我们使用得最多的是相对URL地址,这个方法就起到了

8、将相对URL地址转换成服务器物理路径的作用。为了说明Excure/ Transfer及HtmlEncode(HtmlDecode)/ UrlEncode(UrlDecode)的区别,我们还是用实例代码来展示,用Dreamweaver8创建一个aspx页面,代码如下:24 25 26 27 28 29 Server对象的常见方法实例30 31 32 33 Server.MapPath(.)=34 %=Server.HtmlEncode(A夜话之二:内置对象)%35 A夜话之二:内置对象36 %=Server.UrlEncode(a href=/37 a href=38 39 40 将新建的页面保

9、存为ServerDemo.aspx并保存到C:/Inetpub/wwwroot下,然后打开浏览器在地址栏中输入:http:/localhost/Request/serverdemo.aspx,运行结果如下: 从Server.MathPath(“.”)输出“C:/Inetpub/wwwroot”,证明确实能获取到相对路径的在服务器上的实际物理地址。在上面的例子中我们想在网页中输出HTML代码,如果直接输出往往得不到想要的效果,这时可以借助HtmlEncode方法对要输出的HTML代码进行编码,这样输出到浏览器上的时候就能看到HTML代码,而不是HTML形式的效果。HtmlDecode方法则是用来

10、消除这种影响。如果我们直接输出“a href=前面我们提到,在HTTP中,服务器与客户端并不是时时保持连接状态,而是服务器被动地等待客户发送请求,服务器才进行响应。因此,在大部分情况下,服务器并不会管客户端是否还依然存在。在这种情况下,假如用户通过访问一些需要权限的页面,在他输入正确的用户名和密码之后第一次他访问a页面,隔几分钟之后再访问同样需要权限才能访问的b页面,这是他还需要输入用户名和密码吗?按照清理来说如果这个时间间隔比较短,我们不应该要求频繁用户输入这些信息,可是服务器又不记录这些信息,我们有没有办法解决这个问题呢?答案是有的,就是利用Session或者Cookie。 Session

11、Session对象用来保存与特定用户相关的信息,Session中的数据保存在服务器端,在客户端需要的时候创建Session,在客户端不需要的时候销毁Session,使它不再占用服务器内存。前面说了服务器并不管客户端是否依然存在,因而它也无法确定客户端什么时间不再使用它,但是如果在客户端不再用的时候不及时销毁Session的话,服务器很快就会内存不足。为了解决这个问题,给Session加了一个生命周期,当服务器发现Session超过了它的生命周期,就会释放该Session所占用的内存空间。在中Session的默认生命周期是20分钟,也就是当我们在9:00的时候设置了一个Session,如果在9:

12、20之前客户端没有任何请求,那么它的生命周期就到9:20分钟结束。但是一旦用户在9:19又向服务器发送了一个请求,那么这个Session现在的生命周期就是在当前时间的基础上再加上20分钟,也就是此时这个Session的生命周期是到9:39结束。Session具有以下特点:Session中的数据保存在服务器端;Session中可以保存任意类型的数据;Session默认的生命周期是20分钟,可以手动设置更长或更短的时间。假设我们要设置一个Session用来保存用户名,这个Session的名字是“UserName”,值是“zhoufoxcn”,代码如下:41 Session“UserName”=”z

13、houfoxcn”;一个网站里用到Session的地方肯定不止一个,所以在设置和获取Session的时候通过Session的名在来操作,并且Session被设置成能存储任意类型的对象(即Object类型),所以获取Session的时候要根据设置的时候的实际类型进行响应的强制类型转换(当然如果在Session中存放像int/byte/short这样的数据类型,获取Session的值算是一种拆箱操作而不是强制类型转换),对于上面的Session,获取Session的值的代码如下:42 string username=(string)Session“UserName”;对于上面的代码,有个问题需要注

14、意:当没有设置相应的Session或者Session因为超过生命周期而被销毁时,上面的代码有可能抛出异常。我们可以先判断是否存在指定名称的Session,如果不存在就不用获取了,仅当存在的情况下才获取Session的值,上面的代码可以改进如下:43 string userName;44 if(SessionUserName!=null)45 46 /当指定名称的Session存在时,获取指定Session的值 47 userName=(string)SessionUserName;48 Cookie Cookie对象和Session对象一样也是用来保存特定的用户相关的数据,不过Session不

15、同的是Cookie保存在客户端而不是服务器上,每次客户端发出请求的时候都会把Cookie一起发送到服务器,服务器每次响应客户端请求的时候会重新把Cookie发送到客户端保存。Cookie保存数据有以下特点:Cookie中的数据保存在客户端;Cookie中只能保存字符串类型的数据,如果需要在Cookie中保存其它类型数据,需要将其转换成字符串类型后保存;Cookie也有其默认生命周期,也可以手动设置,最大可设置成50年之后过期。同Session的情况一样,有可能在一个网站中使用到的Cookie不止一个,我们仍通过Cookie的名称来区分不同的Cookie。设置Cookie的过程就是在服务器的响应

16、对象Response的Cookie集合中增加一个Cookie的实际,Response对象会把这个Cookie集合中的所有Cookie都发送客户端。代码如下(仍以保存用户名为例):49 HttpCookie cookie = new HttpCookie(UserName, zhoufoxcn);50 Response.Cookies.Add(cookie); 获取Cookie就是从客户端的请求对象中找到对应名称的Cookie,当然也有可能出现Cookie不存在的情况,所以在获取之前也需要检查指定名称的Cookie是否存在,大妈如下:51 string userName;52 if (Reque

17、st.CookiesUserName != null)53 54 userName = Request.CookiesUserName.Value;55 细心的朋友可能会留意到前面讲到Session和Cookie的时候,我都说他们是针对特定用户保存的数据,也就是那些数据并不是每个人都能用到。Session和Cookie一般用来一些针对特定用户的信息,比如用于保存用户名等,因为是针对特定用户的,所以不会针对张三设置用户名保存在Session或者Cookie中之后再去或者这个值的时候得到的是李四的用户名。但是在某些情况下,我们又希望保存一些共有信息,这样大家都能设置或者获取,比如自从服务器启动以来

18、某个页面被打开的次数,这时用Session或者Cookie就不合适了。这就需要用Application了。 Application Application和Session存储的数据类型和存储位置一样,都是存放Object类型的数据(也就是任意类型),并且存放在服务器上,不同的Application中的数据可以由网站中所有的用户来设置或者获取。并且Application中存放的数据没有时间限制,除非我们手动删除或者服务器重新启动,否则存放的数据都会丢失。下面是Session、Cookie和Application的区别: 名称使用范围存储位置存放数据类型生命周期Session特定用户服务器Obje

19、ct,也就是任意类型有,可以自行设置Cookie特定用户客户端String,也就值字符串可以自行设置Application所有用户服务器Object,也就是任意类型无下面我们以一个小例子来说明Session和Application的区别。我们用Dreamweaver8创建两个页面,分别为SessionTest.aspx和ApplicationTest.aspx,保存到C:/Inetpub/wwwroot目录下,它们的代码都是一样的,如下: 56 57 58 59 60 61 Application和Session的例子62 63 64 %65 /如果没有设置名为ApplicationCount

20、的Application66 int applicationCount=1;67 int sessionCount=1;68 if(ApplicationApplicationCount=null)69 70 ApplicationApplicationCount=1;71 72 else/否则取出该Session,并且在当前值上加173 74 applicationCount=(int)ApplicationApplicationCount+1;75 ApplicationApplicationCount=applicationCount;76 77 /如果SessionSessionCou

21、nt为空,即没有设置该名字的Session78 if(SessionSessionCount=null)79 80 SessionSessionCount=1;81 82 else83 84 sessionCount=(int)SessionSessionCount+1;85 SessionSessionCount=sessionCount;86 87 Response.Write(当前页面由Application记录到的被访问了+applicationCount+次);88 Response.Write(当前页面由Session记录到的被访问了+sessionCount+次);89 %90

22、91 这时我们在浏览器地址栏里输入:http:/localhost/sessiontest.aspx,会看如下结果Session和Application中的值是一样的,即使我们按F5刷新页面,结果也是一样,如下图: 然后我们重新打开一个浏览器应用程序(注意不要在当前窗口中输入),会看到如下情况: 为什么特地强调要在新浏览器窗口中打开另一个页面呢?因为有些浏览器会视同为同一个Session,导致出现不了预期的效果。通过上面的例子证明了Application确实是属于所有网站用户的,它适合保存全局的数据信息,如网站从Web服务器启动以来接受的请求个数或者当前在线总人数;而Session只与特定用户有关,只适合保存特定用户的信息,比如用户的用户名。 表达式用来编写程序的代码部分。在其中可以声明变量和方法。如下: 92 在就是符合C#要求的代码。 表达式是用来向输出流中输出变量的值。其用法如下:九九乘法表是大家相当熟悉的了,下面我们分别用Response对象的Write方法和上面的及来输出九九乘法表。如下图 用Response对象输出九九乘法表的代码如下:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1