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这个类.先看这个类的结构 纸上得来终觉浅,绝知此事要躬行.个人觉得里面的标准操作就是对数据库增删查改 .特别适 ...
随机推荐
- [C#]生成预定义全颜色表
生成Color类所有static预定义成员的颜色表 const long CELLS_PER_LINE = 10; const float MARGIN = 12; const float CELL_ ...
- [html]js打开指定页面
1.在当前窗口打开 location.href = "http://www.baidu.com"; 2.可以设置开发方式 window.open("http://www. ...
- EditPlus保存文件时不生成其备份文件的方法
3.将“保存时去掉备份文件”复选框去掉,点击 应用->确定,即可 .
- SQL Server数据库PIVOT函数的使用详解(二)
动态的行转列 原理就是 把需要转成列的行拼出来 DECLARE @fieldName VARCHAR(); SET @fieldName=''; SELECT @fieldName = @fieldN ...
- C++ ComboBox基础
关键点 实现过程 //添加 //添加字符串 m_cbo1.AddString("AAA"); m_cbo1.AddString("BBB"); m_cbo1.A ...
- ASP.net导出EXCEL乱码?试试这个
网上的方法有说加meta的,是有用,不过,不够直接, 甭管你asp文件是utf-8还是gb2312,加入下面两句就搞掂: response.Charset="GB2312" ses ...
- Linux 下mysql忘记root密码解决方法
忘记root密码怎么办:1.关闭数据库2.使用-->mysqld_safe --skip-grant-tables &--<启动数据库3.使用空密码进入数据库(mysql命令后直接 ...
- 将table内容输出为csv文件
1.创建 directory create or replace directory tt as'c:\'; SELECT * FROM DBA_OBJECTS DO WHERE DO.OBJECT_ ...
- 在AngularJS的controller外部直接获取$scope
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/5560843.html ...
- Oracle常用查询命令
Oracle查询完整格式如下: Select * from XX where XX group by YY having XX order by YY Select count(*), XX fr ...