ASP.NET中的Request、Response、Server对象

Request对象

Response.Write(Request.ApplicationPath) //应用根路径
Request.AppRelativeCurrentExecutionFilePath //当前执行请求相对于应用根目录的虚拟路径,以~开头
Request.PhysicalApplicationPath //当前应用的物理路径,如 D:\TEST\WEB
Request.PhysicalPath //当前请求的物理路径,如 D:\TEST\WEB\a.aspx
Request.RawUrl //原始请求URL地址
Request.Url //请求的URL,含有域名
Request.UrlReferrer //网页的来源,可根据这个判断从百度搜的哪个关键词,防下载盗链,防图片盗链,可以伪造(讯雷)
Request.UserHostAddress //访问者的IP地址
Request.UserLanguages //访问者浏览器支持的语言
Request.Cookies //浏览器发过来的COOKIE
Request.MapPath("~/b.aspx") //将虚拟路径转换为磁盘物理路径
Request.QueryString["user"] //获得URL中user的值
Request.Browser.Type //浏览器的名称和主版本号
Request.Browser.Platform //操作系统版本

Response对象

响应的缓冲输出:为了提高服务器的性能,ASP.NET向浏览器Write的时候默认并不会第Write一次都会
立即输出到浏览器,而是会缓存数据,到合适的时候或者响应结束才会将缓冲区中的数据一起发送到浏览器

Response对象的主要成员:

Response.Buffer,Response.BufferOutput 两个属性是一样的,用来控制是否采用响应缓存,默认true
Response.Flush() 将缓冲区中的数据立即发送给浏览器,案例:大量数据导入时,显示进度,用Thread.Sleep模拟耗时
Response.Clear() 清空缓存区中的数据,这样在缓存区中的没有发送到浏览器端的数据被清空,不会被发送到浏览器
Response.ContentEncoding 输出流的编码
Response.ContextType 输出流的内容类型,如 html(text/html),普通文本(text/plain),JPEG图片(image/JPEG)等
Response.Cookies 返回给浏览器的Cookie的集合,可以通过它设置Cookie
Response.OutputStream 输出流,在输出图片,Excel文件等非文本内容时用到
Response.End() 终止响应,将之前缓存中的数据发给浏览器,End()之后的代码不会被执行
Response.Redirect("url") 重定向浏览器到新的网址
Response.SetCookie(HttpCookie cookie) 向输出流中更新写到浏览器中的Cookie
Response.Write() 向浏览器输出内容 
Response.WriteFile() 向浏览器输出文件,如 Response.WriteFile("c:\a.txt");

Server对象

Server是context的一个属性,是HttpServerUtility类的一个对象
Server.HtmlDecode(),Server.HtmlEncode(),Server.UrlEncode(),Server.UrlDecode()
UrlEncode是处理超链接的,HtmlEncode是处理HTML代码的
Server.Transfer(path) 内部重定向请求,是服务器内部接管,只有一次http请求,浏览器地址栏不会变化
与Redirect不同,另一个是二个请求,URL会变化
因为是内部接管,所以在被重定向到的页面中是可以访问到Request,Cookies等
而Redirect不行,因为他是让浏览器去访问,注意:Transfer是内部接管,因此
不能像Redirect那样重定向到外部网站
使用Server.Transfer不能直接重定向到ashx,否则会报错"执行子请球出错"
有时候不能拿到HttpContext对象,比如在Global.asax中,可以通过 HttpContextCurrent拿到当前的
HttpContext,进而拿到 Response,Request,Server等

时间: 2024-11-03 22:19:04

ASP.NET中的Request、Response、Server对象的相关文章

ASP.NET中的Request和Respone对象的使用

ASP.NET中的Request和Respone对象的使用 ASP.NET对象有如下几个: 本文从"asp.net中通过from表单submit提交到后台的实例"来谈谈Request和Response这两个对象的使用. (一)引入实例         前台<body>中的表单代码: <body> <form method="get" action="WebForm1.aspx"> <table style

struts2的action中获得request response session 对象

在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态方法getContext()获取当前Action的上下文对象.有了这个对象我们想获得其他几个对象就好办了 ActionContext ctx = ActionContext.getContext(); Map session = ctx.getSession(); 细心的朋友可以发现这里的sessi

ASP入门(十二)-Server对象

Server 对象用于处理服务器上的一些特殊任务,例如,创建组件实例.获取文件路径.执行ASP脚本文件等. Server 对象是体现 ASP 强大功能的一个对象,之前介绍的对象都是针对获取.请求以及简单存储信息而设计的,之所以说它强大,有两个原因,第一可以通过 Server 对象创建服务器上所具有的组件的实例,从而扩展 ASP 功能:第二 Server 对象可以执行服务器上的 ASP 文件,从而使得一些大型系统的架构变得简单. Server 的属性 Server 对象只有一个属性 ScriptT

以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)

在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么?    为了更清楚的了解,我们总结出每一种对象应用的具体环境,如下表所示: 方法 信息量大小 保存时间 应用范围 保存位置 Application 任意大小 整个应用程序的生命期 所有用户 服务器端 Session 小量,简单的数据 用户活动时间+一段延迟时间(一般为20分钟) 单个用户 服务器端 Cookie

在Struts2的Action中获得request response session几种方法

转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为servlet 不相关的 非IoC 取得Request等对象的方式servlet 不相关的 IoC 取得Request等对象的方式servlet 相关的 非IoC 取得Request等对象的方式servlet 相关的 IoC 取得Request等对象的方式以下分别叙述.首先请看struts.xml文件文

09asp.net==============Request Response Server常用属性和方法。。

Request 1.Request.UrlReferrer 请求的来源,可以根据这个判断从百度搜的哪个关键词.防下载盗链.防图片盗链,可以伪造(比如迅雷)."本图片仅供如鹏网内部交流使用",在DZ中测试.全局防盗链用Globals.asax2.Request.UserHostAddress获得访问者的IP地址3.Request.Cookies 获取浏览器发过来的浏览器端的Cookie,从它里面读取Cookie值,比如context.Request.Cookies["myses

ASP.NET中使用UpdatePanel时用Response输出出现错误的解决方法

asp.net中执行到Response.write("xx");之类语句或Microsoft JScript 运行时错误: Sys.WebForms.PageRequestManagerParserErrorException: 无法分析从服务器收到的消息.之所以出现此错误,常见的原因是: 在通过调用 Response.Write() 修改响应时,将启用响应筛选器.HttpModule 或服务器跟踪.   在放置了UpdatePanel时,先在</UpdatePanel>前

ASP,ASP.net,JSP语法、内置对象对比

1 各自的HelloWord版本 1.1 ASP <%  Response.Write("hello asp") %> 文件名为test.asp. 1.2 ASP.net <%@ page Language="C#" %> <%  Response.Write("hello asp.net"); %> 文件名为test.aspx. 需要注意的是由于ASP.net支持多种语言开发,而默认的语言是VB.net,这里

JSP中的9大内置对象四大域与servlet里的三大域

九大内置对象 隐式对象 说明 out 转译后对应JspWriter对象,其内部关联一个PringWriter对象 request 转译后对应HttpServletRequest/ServletRequest对象 response 转译后对应HttpServletRespons/ServletResponse对象 config 转译后对应ServletConfig对象 application 转译后对应ServletContext对象 session 转译后对应HttpSession对象 page