ASP.NET之Response与Request对象的属性与方法
2012-08-19 12:34
225 查看
1.aspx 和 cs 和 dll 之间的关系 网站运行时其实会编译成程序集dll aspx,aspx.cs页面会被编译成类 aspx前台页面类,继承自aspx.cs后台页面类, 所以在aspx中可以访问cs类中的非私有的成员
2.查看当前所运行程序集的物理路径 Response.Write(this.GetType().Assembly.Location +"<br/>")
3.Request.UrlReferrer 请求的来源 可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链, 可以伪造(比如迅雷)。"本图片仅供如鹏网内部交流使用"。(使用全局一般处理程序)
4.Request.UserHostAddress 获得访问者的IP地址
5.Request.MapPath(virtulPath) 将虚拟路径转换为磁盘上的物理路径 Request.MapPath("./a/b.aspx") 就会得到D:\2008\WebSites\WebSite4\a\b.aspx Server.MapPath里就是调用的Request.MapPath
6.响应的缓冲输出: 为了提高服务器的性能,ASP.Net向浏览器Write的时候 默认并不会每Write一次都会立即输出到浏览器,而是会缓存数据 到合适的时机或者响应结束才会将缓冲区中的数据一起发送到浏览器
7.Response对象的主要成员: 1、Response.Buffer、Response.BufferOutput:经过Reflector反编译,发现两个属性是一样的,Buffer内部就是调用的BufferOutput。这个属性用来控制是否采用响应缓存,默认是true。 2、Response.Flush() 将缓冲区中的数据发送给浏览器。这在需要将Write出来的内容立即输出到浏览器的场合非常适用。案例:大批量数据的导入,显示正在导入第*条数据,用Thread.Sleep模拟耗时。 3、Response.Clear()清空缓存区中的数据,这样在缓存区中的没有发送到浏览器端的数据被清空,不会被发送到浏览器。 4、Response.ContentEncoding输出流的编码。 5、Response.ContentType 输出流的内容类型,比如是html(text/html)还是普通文本(text/plain)还是JPEG图片(image/JPEG)。 6、Response.OutputStream 输出流,在输出图片、Excel文件等非文本内容的时候要使用它 7、Response.End() 终止响应,将之前缓存中的数据发给浏览器, End()之后的代码不会被继续执行,End方法里调用了Flush()方法。 在终止一些非法请求的时候,比如盗链等可以用End()立即终止请求。
8.Server对象: Server属性是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问。 MapPath()方法: 取得文件的物理路径 Execute()方法和Transfer()方法: 执行另一个页面的脚本 HtmlEncode()和HtmlDecode() :将文本编码成可以在浏览器中正确浏览的格式 UrlEncode()和UrlDecode() : URL编码和解码
9.Transfer: 第一个页面直接调用第二个页面,执行完第二个页面后不再返回第一个页面,立即响应到客户端浏览器。 Execute: 第一个页面直接调用第二个页面,执行完第二个页面后再返回第一个页面执行,最后响应到客户端浏览器。
2.查看当前所运行程序集的物理路径 Response.Write(this.GetType().Assembly.Location +"<br/>")
3.Request.UrlReferrer 请求的来源 可以根据这个判断从百度搜的哪个关键词、防下载盗链、防图片盗链, 可以伪造(比如迅雷)。"本图片仅供如鹏网内部交流使用"。(使用全局一般处理程序)
4.Request.UserHostAddress 获得访问者的IP地址
5.Request.MapPath(virtulPath) 将虚拟路径转换为磁盘上的物理路径 Request.MapPath("./a/b.aspx") 就会得到D:\2008\WebSites\WebSite4\a\b.aspx Server.MapPath里就是调用的Request.MapPath
6.响应的缓冲输出: 为了提高服务器的性能,ASP.Net向浏览器Write的时候 默认并不会每Write一次都会立即输出到浏览器,而是会缓存数据 到合适的时机或者响应结束才会将缓冲区中的数据一起发送到浏览器
7.Response对象的主要成员: 1、Response.Buffer、Response.BufferOutput:经过Reflector反编译,发现两个属性是一样的,Buffer内部就是调用的BufferOutput。这个属性用来控制是否采用响应缓存,默认是true。 2、Response.Flush() 将缓冲区中的数据发送给浏览器。这在需要将Write出来的内容立即输出到浏览器的场合非常适用。案例:大批量数据的导入,显示正在导入第*条数据,用Thread.Sleep模拟耗时。 3、Response.Clear()清空缓存区中的数据,这样在缓存区中的没有发送到浏览器端的数据被清空,不会被发送到浏览器。 4、Response.ContentEncoding输出流的编码。 5、Response.ContentType 输出流的内容类型,比如是html(text/html)还是普通文本(text/plain)还是JPEG图片(image/JPEG)。 6、Response.OutputStream 输出流,在输出图片、Excel文件等非文本内容的时候要使用它 7、Response.End() 终止响应,将之前缓存中的数据发给浏览器, End()之后的代码不会被继续执行,End方法里调用了Flush()方法。 在终止一些非法请求的时候,比如盗链等可以用End()立即终止请求。
8.Server对象: Server属性是HttpServerUtility的一个实例,它提供对服务器上的方法和属性的访问。 MapPath()方法: 取得文件的物理路径 Execute()方法和Transfer()方法: 执行另一个页面的脚本 HtmlEncode()和HtmlDecode() :将文本编码成可以在浏览器中正确浏览的格式 UrlEncode()和UrlDecode() : URL编码和解码
9.Transfer: 第一个页面直接调用第二个页面,执行完第二个页面后不再返回第一个页面,立即响应到客户端浏览器。 Execute: 第一个页面直接调用第二个页面,执行完第二个页面后再返回第一个页面执行,最后响应到客户端浏览器。
相关文章推荐
- asp.net “非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”
- asp.net报出“非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”错误
- ASP.net获取当前url各种属性(文件名、参数、域名 等)的方法
- ASP.NET 用户控件自定义属性、方法、事件
- Asp.net内置对象之Cookies(简介/属性方法/基本操作及实例)
- asp.net后台导出excel的方法:使用response导出excel
- asp.net 中 HttpRequest 中跟URL path 有关的方法和属性
- Asp.net操作Excel常用方法及属性
- Asp.net 如何取母版页的属性及控件及方法调用
- [原创]ASP.NET中Response.Redirect()方法深度剖析[转]
- asp.net Response.Redirect跳出框架与打开窗口方法
- asp.net 中 HttpRequest 中跟URL path 有关的方法和属性 (摘自用怪异的眼光去研究blog)
- ASP.NET中使用UpdatePanel时用Response输出出现错误的解决方法
- 一起谈.NET技术,ASP.NET MVC验证框架中关于属性标记的通用扩展方法
- asp.net执行Response.Write()方法后导致页面字体变大|css失效
- ASP.NET的Request对象的属性介绍
- 【ASP.NET】DataContract序列化,反序列化对象中包含用接口声明的属性时的处理方法
- 无法识别的属性“type”+IIS没有Asp.net配置选项的解决方法(转)
- Asp.net 2.0 中如何调用用户控件(UserControl)的相关方法或属性/如何传参等
- ASP.NET MVC验证框架中关于属性标记的通用扩展方法