而封闭HTTP输出信息的类型就是HttpResponse类,使用HttpResponse类可以实现三种类型的输出,即文本,URL,二进制流.
  实现这三类的属性和方法分别介绍如下:
1.文本的输出,在日常开发中,后台中的文本可能需要输出到浏览器中,让用户浏览,这就需要实现动态HTML的输出,使用HttpResponse类的Write静态方法可以实现,例如希望在浏览器上显示一个"hello world!"的字样时,可以在Page_load方法中增加如下代码,就可以实现:

 Response.write("hello world!")

2.URL的输出,程序开发经常需要根据情况将用户浏览的界面重定向到其他页面,例如,用户在没有登录的状态下查看自己的信息,系统需要首先将其转向到登录页,登录后再转回信息浏览页,实现URL的输出可以使用HttpResponse类的redirect方法实现,代码如下:

response.redirect("http://www.djjwz.com/")

3.二进制流,有时需要将服务器上的文件提供给用户下载,或者在浏览器端动态生成一幅图片,例如,验证的初一二进制流输出到用户浏览器中.

https://msdn.microsoft.com/zh-cn/library/system.web.httpresponse(v=vs.110).aspx

封装来自 ASP.NET 操作的 HTTP 响应信息

已用到的方法:

Redirect(String)

将请求重定向到新 URL 并指定该新 URL。

Redirect(String, Boolean)

将客户端重定向到新的 URL。指定新的 URL 并指定当前页的执行是否应终止。

RedirectPermanent(String)

执行从所请求 URL 到所指定 URL 的永久重定向。

RedirectPermanent(String, Boolean)

执行从所请求 URL 到所指定 URL 的永久重定向,并提供用于完成响应的选项。

RedirectToRoute(Object)

使用路由参数值将请求重定向到新 URL。

RedirectToRoute(RouteValueDictionary)

使用路由参数值将请求重定向到新 URL。

RedirectToRoute(String)

使用路由名称将请求重定向到新 URL。

RedirectToRoute(String, Object)

使用路由参数值和路由名称将请求重定向到新 URL。

RedirectToRoute(String, RouteValueDictionary)

使用路由参数值和路由名称将请求重定向到新 URL。

RedirectToRoutePermanent(Object)

使用路由参数值执行从所请求 URL 到新 URL 的永久重定向。

RedirectToRoutePermanent(RouteValueDictionary)

使用路由参数值执行从所请求 URL 到新 URL 的永久重定向。

RedirectToRoutePermanent(String)

使用路由名称执行从所请求 URL 到新 URL 的永久重定向。

RedirectToRoutePermanent(String, Object)

使用路由参数值以及与新 URL 对应的路由的名称执行从所请求 URL 到新 URL 的永久重定向。

RedirectToRoutePermanent(String, RouteValueDictionary)

使用路由参数值和路由名称执行从所请求 URL 到新 URL 的永久重定向。

ToString()

返回表示当前对象的字符串。(从 Object 继承。)

TransmitFile(String)

将指定的文件直接写入 HTTP 响应输出流,而不在内存中缓冲该文件。

TransmitFile(String, Int64, Int64)

将文件的指定部分直接写入 HTTP 响应输出流,而不在内存中缓冲它。

Write(Char)

将字符写入 HTTP 响应输出流。

Write(Char[], Int32, Int32)

将字符数组写入 HTTP 响应输出流。

Write(Object)

将 Object 写入 HTTP 响应流。

Write(String)

将字符串写入 HTTP 响应输出流。

WriteFile(IntPtr, Int64, Int64)

将指定的文件直接写入 HTTP 响应输出流。

WriteFile(String)

将指定文件的内容作为文件块直接写入 HTTP 响应输出流。

WriteFile(String, Boolean)

将指定文件的内容作为内存块直接写入 HTTP 响应输出流。

WriteFile(String, Int64, Int64)

将指定的文件直接写入 HTTP 响应输出流。

WriteSubstitution(HttpResponseSubstitutionCallback)

允许将响应替换块插入响应,从而允许为缓存的输出响应动态生成指定的响应区域。

代码示例:

<%@ Page Language="C#" %>
<%@ import Namespace="System.Drawing" %>
<%@ import Namespace="System.Drawing.Imaging" %>
<%@ import Namespace="System.Drawing.Drawing2D" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">private void Page_Load(object sender, EventArgs e){
// <snippet2>// Set the page's content type to JPEG files// and clears all content output from the buffer stream.Response.ContentType = "image/jpeg";Response.Clear();// Buffer response so that page is sent// after processing is complete.Response.BufferOutput = true;
// </snippet2>// Create a font style.Font rectangleFont = new Font("Arial", 10, FontStyle.Bold);// Create integer variables.int height = 100;int width = 200;// Create a random number generator and create// variable values based on it.Random r = new Random();int x = r.Next(75);int a = r.Next(155);int x1 = r.Next(100);// Create a bitmap and use it to create a// Graphics object.Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);Graphics g = Graphics.FromImage(bmp);g.SmoothingMode = SmoothingMode.AntiAlias;g.Clear(Color.LightGray);// Use the Graphics object to draw three rectangles.g.DrawRectangle(Pens.White, 1, 1, width-3, height-3);g.DrawRectangle(Pens.Aquamarine, 2, 2, width-3, height-3);g.DrawRectangle(Pens.Black, 0, 0, width, height);// Use the Graphics object to write a string// on the rectangles.
        g.DrawString("ASP.NET Samples", rectangleFont,SystemBrushes.WindowText, new PointF(10, 40));// Apply color to two of the rectangles.
        g.FillRectangle(new SolidBrush(Color.FromArgb(a, 255, 128, 255)),x, 20, 100, 50);g.FillRectangle(new LinearGradientBrush(new Point(x, 10),new Point(x1 + 75, 50 + 30),Color.FromArgb(128, 0, 0, 128),Color.FromArgb(255, 255, 255, 240)),x1, 50, 75, 30);// <snippet3>    // Save the bitmap to the response stream and// convert it to JPEG format.
        bmp.Save(Response.OutputStream, ImageFormat.Jpeg);// Release memory used by the Graphics object// and the bitmap.
        g.Dispose();bmp.Dispose();// Send the output to the client.
        Response.Flush();
// </snippet3>
    }</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>ASP.NET Example</title>
</head>
<body><form id="form1" runat="server"></form>
</body>
</html>

转载于:https://www.cnblogs.com/CandiceW/p/4936963.html

HttpResponse 类相关推荐

  1. C# 之 HttpResponse 类

    Response 对象,派生自HttpResponse 类,该类封装来自 ASP.NET 操作的 HTTP 响应信息.存在于System.Web命名空间下. 注:MIME(Multipurpose I ...

  2. HttpResponse类

    HttpReponse是服务器接收到浏览器的请求后,处理返回结果常用的一个类. 一.属性 Buffer 获取或设置一个值,该值指示是否缓冲输出并在处理完整个响应之后发送它.  BufferOutput ...

  3. 【django】HttpResponse对象

    视图在接收请求并处理后,必须返回HttpResponse对象或⼦对象.HttpRequest对象由Django创建,HttpResponse对象由开发⼈员创建. 一.HttpResponse 可以使⽤ ...

  4. Python Django 前后端数据交互 之 HttpRequest、HttpResponse、render、redirect

    在使用三神装的时候,首先当然是得要导入它们: from django.shortcuts import HttpResponse, render, redirect 一.HttpRequest捕获请求 ...

  5. HttpRequest 类

    关于此类的介绍:查看HttpRequest类 点击查看:HttpRequest中方法的封装 跟这个类对应的HttpResponse类 定义:使 ASP.NET 能够读取客户端在 Web 请求期间发送的 ...

  6. Django视图层:视图函数、视图类

    一.视图层The view layer Django 具有 "视图" 的概念,负责处理用户的请求并返回响应. 二.视图函数 View functions mysite/views. ...

  7. binarytreenode”使用 类 模板 需要 模板 参数列表_0基础掌握Django框架(7)Django模板介绍...

    为了更好的学习效果,请搭配视频教程一起学习: [免费]Python全栈开发系列教程 - 网易云课堂​study.163.com 模板 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很 ...

  8. HTTP请求上下文之终结:HttpContext类

    在处理请求执行链的各个阶段中,会有一个对象在各个对象之间进行传递,也即会保存请求的上下文信息,这个对象就是HttpContext对象.HttpContext粉状了ASP.NET要处理的单次请求的所有信 ...

  9. python中response对象的方法_django HttpResponse对象 - 刘江的django教程

    HttpResponse对象 阅读: 32804 评论:3 HttpResponse类定义在django.http模块中. HttpRequest对象是浏览器发送过来的请求数据的封装,HttpResp ...

最新文章

  1. 企业需要建设网站该如何咨询价格呢?
  2. C 和 C++ 文件操作详解
  3. Java ObjectInputStream readFloat()方法与示例
  4. bootstrap快速入门_在5分钟内学习Bootstrap 4-快速入门指南
  5. Activiti用户指南之Activiti的API
  6. bitherj java_比太钱包为什么从 Bitcoinj 切换到了 Bitherj ?比太钱包从 Bitcoinj 切换到了 Bitherj原因是什么?...
  7. 项目管理: Maven 让事情变得简单
  8. iptables的详细介绍及配置方法
  9. java遍历范型list_Java 集合(1)-- 俯瞰 Java 集合源码以及分类
  10. Swift 反射 API 及用法
  11. C# 压缩PDF图片
  12. Why does getView return wrong convertView objects on BaseAdapter?
  13. MIMO系统信道容量分析
  14. BUGKU-CTF-MISC-一个普通的压缩包
  15. QQ截屏快速获取像素颜色
  16. Virtex6 PCIe 超简版基础概念学习(二)(转载)
  17. SyncToy 2.1
  18. yii1 ajax,ajax - 在yii 1中使用ajax根据选定的单选按钮选项更新html字段值 - 堆栈内存溢出...
  19. 厉害了!99行代码实现《冰雪奇缘》
  20. 细说shiro之一:shiro简介

热门文章

  1. 从sqlite 迁移 mysql_将 Ghost 从 SQLite3 数据库迁移到 MySQL 数据库
  2. python o创建文件_Python 文件I/O
  3. win7可以运行的mysql,win7下mysql安装
  4. 素筛打表(输出小于n最大素数)
  5. java 易变变量_关于java:易变变量和其他变量
  6. ginapi服务器性能,gin框架构建Api之:环境配置和路由
  7. java项目添加jar包
  8. android jackson 解析json字符串,android:json解析的两个工具:Gson和Jackson的使用小样例...
  9. java实现日期让随动变_java工具类(四)之实现日期随意跳转
  10. python里面的循环语句