ASP.NET中的Request、Response、Server对象
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 //操作系统版本
响应的缓冲输出:为了提高服务器的性能,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是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等
ASP.NET中的Request、Response、Server对象的更多相关文章
- ASP.NET中的Request和Respone对象的使用
前台<body>中的表单代码: ASP.NET对象有如下几个: 本文从“asp.net中通过from表单submit提交到后台的实例”来谈谈Request和Response ...
- struts2的action中获得request response session 对象
在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态 ...
- 老古董---ASP.NET中aspx页面runat="server"
自从 mvc3 被广泛的推进生产环境后,这个runat="server" 慢慢被人遗忘了... asp.net 的 webForm 基于控件的 html 渲染过程是否还记得呢?是 ...
- asp.net 8 Request,Response,Server
Request成员: 1.Request.UrlReferrer 获取请求的来源,可以防盗链 Response.Write(Request.Url.ToString());//获取当前请求的URL地址 ...
- 以下是关于ASP.NET中保存各种信息的对象的比较,理解这些对象的原理,对制作完善的程序来说是相当有必要的(摘至互联网,并非原创--xukunping)
在ASP.NET中,有很多种保存信息的对象.例如:APPlication,Session,Cookie,ViewState和Cache等,那么它们有什么区别呢?每一种对象应用的环境是什么? 为了 ...
- 在Struts2的Action中获得request response session几种方法
转载自~ 在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?Struts2为我们提供了四种方式.分别为se ...
- python-django_rest_framework中的request/Response
rest_framework中的request是被rest_framework再次封装过的,并在原request上添加了许多别的属性: (原Django中的request可用request._requ ...
- 使用 Masstransit中的 Request/Response 与 Courier 功能实现最终一致性
简介 目前的.net 生态中,最终一致性组件的选择一直是一个问题.本地事务表(cap)需要在每个服务的数据库中插入消息表,而且做不了此类事务 比如:创建订单需要 余额满足+库存满足,库存和余额处于两个 ...
- Asp.Net中对操作Sql Server 简单处理的SqlDB类
好久不接触这些闲暇时间回顾一下以前的基础.因为平常使用的时候都是直接调用SqlDB.dll这个类.先看这个类的结构 纸上得来终觉浅,绝知此事要躬行.个人觉得里面的标准操作就是对数据库增删查改 .特别适 ...
随机推荐
- pptp vpn
webalizer是一个高效的.免费的web服务器日志分析程序.其分析结果以HTML文件格式保存,从而可以很方便的通过web服务器进行浏览; http://daliang1215.iteye.com/ ...
- Android UI--自定义ListView(实现下拉刷新+加载更多)
Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...
- 1、IIS常见的的问难及解决方法
配置IIS 7.5 出现的问题及解决办法: 1.问题: CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Tempor ...
- CSS定位(postion)和移动(float)
5.定位和移动:Positioning(定位)CSS定位属性允许你为一个元素定位.它也可以将一个元素放在另一个元素后面,并指定一个元素的内容太大时,应该发生什么. 元素可以使用的顶部,底部,左侧和右侧 ...
- MySQL安装配置,命令,异常纪要
一.Mac上的安装配置 // brew安装 brew install mysql // 设置为开机启动 brew services start mysql ...
- Redis_基本类型介绍和指令___2
1.hash Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿). ...
- jqgrid使用简单记录
我要为id为jqGrid的table使用jqgrid插件. $("#jqGrid").jqGrid({ url: 'data/test.json', mtype: "GE ...
- C学习笔记之预处理指令
一.什么是预处理指令 预处理指令是告诉编译器在编译之前预先处理的一些指令,有宏定义,文件包括,条件编译. 预处理指令一般以 # 号开头,能够出如今文件的不论什么地方, ...
- debugfs恢复文件
echo "this is test" >xx debugfs: ls -d /root/test1 () . () .. () xx <> () test.c ...
- Android5.0之Toobar的使用
总体上来说,Toolbar的使用可以分为两个方面,一方面是将ToolBar当作ActionBar来用,另一方面就是将Toolbar当成一个单独的控件来用,不过到目前为止我见到的大部分情况都是把Tool ...