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这个类.先看这个类的结构 纸上得来终觉浅,绝知此事要躬行.个人觉得里面的标准操作就是对数据库增删查改 .特别适 ...
随机推荐
- hdu 01背包汇总(1171+2546+1864+2955。。。
1171 题意比较简单,这道题比较特别的地方是01背包中,每个物体有一个价值有一个重量,比较价值最大,重量受限,这道题是价值受限情况下最大,也就值把01背包中的重量也改成价值. //Problem : ...
- HTML对JSON的操作
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- NOI 1998 免费馅饼
附题目链接:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=4901 时间限制(普通/Java ...
- C#编译器怎么检查代码是否会执行
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#编译器怎么检查代码是否会执行.
- children真的没有兼容性问题吗?
获取某一节点的所有子元素节点,你会用什么方法? 如果你用childNodes,那会有兼容性问题,对于标准浏览器,他包含的是元素节点和文本节点,我们还需要循环来判断节点的类型,是文本节点还是元素节点,不 ...
- Android解析Json速度最快的库:json-smart
场景描写叙述: 本文仅验证了在安卓环境下使用Json的Key作为反序列化条件的解析速度.结论是解析速度最快的不是阿里的fastjson,也不是Google的Gson,而是json-smart. And ...
- redis远程连接超时
今天在用jedis连接远程的redis时,抛出连接超时异常:connect timed out. 详细信息例如以下: Exception in thread "main" r ...
- 我的Android开发相关文章
Pro Android学习笔记: Pro Android学习笔记(一零七):2D动画(2):layout渐变动画 2014.7.25 Pro Android学习笔记(一零六):2D动画(1):fram ...
- Ubuntu设置目录的读写权限(Linux命令chmod 777 dirName)
更改文件所有者 sudo chown system_username /location_of_files_or_folders 更改文件的权限 鼠标右按钮点击文件/目录 -> 属性 权限 分页 ...
- phpmailer,smtp发送邮件实例(转)
一,用phpmailer发送邮件 查看复制打印? <?php include "class.phpmailer.php"; //包函邮件发送类 //邮件发 ...