[译] ASP.NET 生命周期 – ASP.NET 上下文对象(八)
使用 HttpResponse 对象
HttpResponse 对象是与 HttpRequest 对象相对应的,用来表示构建中的响应。它当中提供了方法和属性可供我们自定义响应,有一些在使用 MVC 视图的时候很少使用到,但是在使用其他组件的时候可能十分有用,比如模块是处理器。
同 HttpRequest 一样,这个类对于 ASP.NET 是很基础的,用来处理请求,在 MVC 框架中可以生成 HTML(或者其他数据)并返回到客户端。下表中列举了常用的方法与属性:
表 1 – HttpResponse 类中常用的成员
| 名称 | 描述 |
| AppendHeader(name, val) | 一个简便的方法用来给响应添加一个报文头。 |
| BufferOutput | 获取或设置一个值用来指示这个请求在被发送到浏览器之前是否可以缓存完毕。默认值是 true。如果将其改变为 false 将会阻止接下来的模块和处理器修改这个响应。 |
| Cache | 返回 HttpCachePolicy 对象来指定响应的缓存策略。 |
| CacheControl | 获取或者设置请求 HTTP 报文头的 cache-control。 |
| Charset | 获取或者设置响应的字符集。 |
| Clear() ClearContent() |
Clear 和 ClearContent 方法是同等的,它们都会从响应中移除内容。 |
| ClearHeaders() | 移除响应的所有报文头。 |
| ContentEncoding | 获取或者设置响应内容的编码方式。 |
| Headers | 返回一个响应报文头的集合。 |
| IsClientConnected | 如果客户端依然连接在服务器上就返回 true。 |
| IsRequestBeingDirected | 如果客户端会发送一个重定向就返回 true。 |
| Output | 返回一个 TextWriter 对象可以用来向响应中写入文本。 |
| OutputStream | 返回一个 Stream 对象可以用来向响应中写入二进制数据。 |
| RedirectLocation | 获取或者设置 HTTP Location 报文头值。 |
| Status | 获取或者设置响应的状态;默认是 200(OK)。 |
| StatusCode | 获取或者设置状态的数字部分;默认是 200(OK)。 |
| StatusDescription | 获取或者设置状态的文字部分;默认是 (OK)。 |
| SuppressContent | 如果设置为 true,这个属性将会阻止响应内容发送到客户端。 |
| Write(data) | 向响应输出流中写入数据。 |
| WriteFile(path) | 向输出流中写入指定文件的内容。 |
在下表中,我总结了一些在 ASP.NET 和 MVC 框架的组件中方便的属性。
表 2 - 在不同的 ASP.NET/MVC 组件中获取一个 HttpResponse 对象
| 组件 | 技术 |
| Controller | 使用方便的 Response 属性。 |
| View | 使用方便的 Response 属性。 |
| 全局应用类 | 使用方便的 Response 属性。 |
| 模块 | 没有方便的属性可用。使用 HttpContext.Response 属性。 |
| 处理器 | 没有方便的属性可用。使用 HttpContext.Response 属性。 |
| 全局 | 总是可以通过静态的 HttpContext.Current.Response 属性来获取到当前的 HttpResponse 对象。 |
[根据 Adam Freeman – Pro ASP.NET MVC 5 Platform 选译]
[译] ASP.NET 生命周期 – ASP.NET 上下文对象(八)的更多相关文章
- [译] ASP.NET 生命周期 – ASP.NET 应用生命周期(一)
概述 ASP.NET 平台定义了两个非常重要的生命周期.第一个是 应用生命周期 (application life cycle),用来追踪应用从启动的那一刻到终止的那一刻.另一个就是 请求生命周期 ...
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(五)
ASP.NET 上下文对象 ASP.NET 提供了一系列对象用来给当前请求,将要返回到客户端的响应,以及 Web 应用本身提供上下文信息.间接的,这些上下文对象也可以用来回去核心 ASP.NET 框架 ...
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)
使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性.这种交叠有一个很好的例子就是 HttpAppl ...
- [译] ASP.NET 生命周期 – ASP.NET 上下文对象(七)
使用 HttpRequest 对象 HttpRequest 对象描述的是一个正在被处理的 HTTP 请求.下表列举了 HttpRequest 中的属性,它们提供了当前请求的相关信息(HttpReque ...
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(三)
使用特殊方法处理请求生命周期事件 为了在全局应用类中处理这些事件,我们会创建一个名称以 Application_ 开头,以事件名称结尾的方法,比如 Application_BeginRequest.举 ...
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(四)
不使用特殊方法来处理请求生命周期事件 HttpApplication 类是全局应用类的基类,定义了可以直接使用的一般 C# 事件.那么使用标准 C# 事件还是特殊方法那就是个人偏好的问题了,如果喜欢, ...
- [译] ASP.NET 生命周期 – ASP.NET 请求生命周期(二)
ASP.NET 请求生命周期 全局应用类也可以用来跟踪每个独立请求的生命周期,包括请求从 ASP.NET 平台传递到 MVC 框架.ASP.NET 框架会创建一个定义在 Global.asax 文件中 ...
- Asp.net生命周期与Http协议
Http协议,底层的东西还是不是特别熟悉,感觉要经过沉淀之后才能理解这些东西吧 1.Asp.net生命周期 Asp.net生命周期: 从发起请求开始,到IIS进行处理的全部过程,然后再到获取结果 当请 ...
- Git使用总结 Asp.net生命周期与Http协议 托管代码与非托管代码的区别 通过IEnumerable接口遍历数据 依赖注入与控制反转 C#多线程——优先级 AutoFac容器初步 C#特性详解 C#特性详解 WPF 可触摸移动的ScrollViewer控件 .NET(C#)能开发出什么样的APP?盘点那些通过Smobiler开发的移动应用
一,原理 首先,我们要明白Git是什么,它是一个管理工具或软件,用来管理什么的呢?当然是在软件开发过程中管理软件或者文件的不同版本的工具,一些作家也可以用这个管理自己创作的文本文件,由Linus开发的 ...
随机推荐
- VC+ADO连接DBF字符串
1.m_strConnect.Format(TEXT("Driver={Microsoft dBASE Driver (*.dbf)}; DriverID=277;Dbq=%s;" ...
- oracle 取随机数据
--取随机数据 select dbms_random.value from dual; ); --百分比
- 浅谈call和apply的联系&区别&应用匹配
call和apply的联系和区别在之前查过资料了解了一番,昨天晚上睡不着觉忽然想到了这个问题,发现对于他们的联系和区别理解的还是很模糊.看来还是欠缺整理,知识没有连贯起来.反思一二,详情如下: 1作用 ...
- Apache Commons 简述
Apache Commons 是一个关注于可复用的 Java 组件的 Apache 项目.Apache Commons 由三部分构成: Commons Proper - 一个可复用的 Java 组件库 ...
- android用异步操作AsyncTask编写文件查看器
Activity程序 package com.example.fileasynctaskproject; import java.io.File; import java.util.ArrayList ...
- android使用Intent操作拨打号码发送短信
Activity程序Activity.java package com.example.intentcaseproject; import android.net.Uri; import androi ...
- 【网络收集】MySql中IS NOT NULL与!=NULL的区别
在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如果去运行一下试试的话差别会很大!为什么会出现这种情况呢?null 表示什么也 ...
- Sql server 大全
一.基础 .说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice ...
- Ssqlserver 关于Grouping sets
sqlserver2008之后引入Grouping sets是group by的增强版本,Grouping sets 在遇到多个条件时,聚合是一次性从数据库中取出所有需要操作的数据,在内存中对数据库进 ...
- DOS批处理命令-if语句
IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...