1. 描述
  2. 其实今天的博文,是一般处理程序的后续部分,理论上应该叫一般处理程序()。但是觉得文章标题后面的系列名已经有个数字,再加一个2有点怪。
  3. 这篇博文主要介绍一下几个对象。
  4. HttpContext
  5. HttpRequest
  6. HttpResponse
  7. context. Server
  8. HttpContext
  9. .描述
  10. 和本次请求相关对象的一个上下文对象,一般通过它获取其他对象。
  11. .截图
  12. clipboard
  13. .对HttpContext.Current的说明
  14. HttpHandlerProcessRequest方法中可以通过方法的context参数获得对象。在其他地方可以通过HttpContext.Current拿到当前请求堆栈中的HttpContext对象,但是还是建议通过参数传递,这样思路清晰。
  15. (*)在子线程是无法获得HttpContext.Current
  16. HttpRequest
  17. .描述
  18. context. Request["username"]; 通过这种方式,能够得到一个HttpRequest对象。
  19. HttpRequest对象描述了,关于请求的相关信息,
  20. 我们可以通过这个对象,拿到我们想要的请求数据。
  21. .截图
  22. 通过Visual Studio可以看到 通过context. Request可以获得到一个HttpRequest对象
  23. j[}pnw8_25db
  24. .获取请求数据的几种方式
  25. context.Request.Form["username"]获取Post请求中的值,
  26. context.Request.QueryString["username"]获取Get请求中的值。
  27. PS:“xxxname=xx&age=”叫做QueryString请求参数
  28. context.Request[" username "] 通吃
  29. 顺序从QueryStringFormCookies ServerVariables中找,第一个找到的就是(反编译验证)
  30. 虽然使用Request[]的这种方式获取请求数据,效率会略有下降(几乎可忽略不计),但使用起来真心方便啊。
  31. 我推荐使用这个!
  32. .关于请求数据的类型
  33. 请求参数获取的都是String类型数据,因为Http协议就是文本。
  34. 所以获取请求来的数据,大多需要数据转换。
  35. .通过HttpRequest对象获取一些请求信息
  36. )浏览器
  37. context.Request.Browser.Browser
  38. )操作系统信息
  39. context.Request.Browser.Platform
  40. )浏览器内核版本
  41. context.Request.Browser.Version
  42.  
  43. )请求报文头
  44. //Request.Headers请求报文头
  45. for (int i = ; i < context.Request.Headers.AllKeys.Length; i++)
  46. {
  47. string key = context.Request.Headers.AllKeys[i];
  48. string value = context.Request.Headers[key];
  49. context.Response.Write(key + "=" + value + "\n");
  50. }
  51.  
  52. )获取请求方式 GET or POST?)
  53. context.Request.HttpMethod
  54. )获取请求页面文件路径(相对)
  55. context.Request.Path
  56. )获取请求参数
  57. context.Request.QueryString
  58. )被请求的文件的服务器上的物理路径
  59. context.Request.PhysicalPath
  60. )获取用户代理
  61. context.Request.UserAgent
  62. )客户端的IP地址
  63. context.Request.UserHostAddress
  64. )获取客户端上次请求的url的有关信息
  65. context.Request.UrlReferrer
  66. )浏览器支持什么语言
  67. context.Request.UserLanguages)
  68. PS: 对对没有错,看着眼熟就对了。这些请求都在http协议里头详细介绍过!
  69. HttpRequest获取的所有信息都来自http请求报文。
  70. HttpResponse
  71. .简介
  72. HttpResponse是对响应报文进行设置的一个对象。
  73. 通过context. Response 能够得到HttpResponse对象。
  74. .截图
  75. 通过Visual Studio 可以观察到context. Response会得到一个HttpResponse对象。
  76. clipboard[]
  77. .重定向
  78. Redirect()重定向;
  79. Redirect是向浏览器发回302重定向,是通知浏览器“请重新访问url这个网址”,这个过程经历了服务器通知浏览器“请重新访问url这个网址”和浏览器接到命令访问新网址的过程。
  80. 使用报文工具查看整个响应过程的Http报文。用Redirect因为是浏览器自己去重新访问新网址的,所以在地址栏中是可以看到网址的变化的。
  81. .End()
  82. End()将当前所有缓冲的输出发送到客户端,停止该页的执行。通过对End()进行try,发现是是抛出了异常。所以End()之后的代码就不会执行了。
  83. context. Server
  84. .描述
  85. Server是一个HttpServerUtility类型的对象,不是一个类名
  86. .MapPath
  87. MapPath("~/a.htm")将虚拟路径(~代表项目根目录)转换为磁盘上的绝对路径,操作项目中的文件使用。
  88. .HtmlEncode HtmlDecode
  89. HtmlEncode HtmlDecodeHTML编码解码。Encode为的是把特殊字符转义显示
  90. .UrlEncode UrlDecode
  91. UrlEncode UrlDecodeurl编码解码。汉字、特殊字符(空格、尖括号)等通过Url传递的时候要编码

来源:http://www.cnblogs.com/mcad/p/4345744.html

ASP.NET内核几大对象、ASP.NET核心知识(6)的更多相关文章

  1. ASP.NET内核几大对象、ASP.NET核心知识(6)--转载

    这篇博文主要介绍一下几个对象. 1)HttpContext 2)HttpRequest 3)HttpResponse 4)context. Server 5)context.Session HttpC ...

  2. ASP.NET内核几大对象、ASP.NET核心知识(7)--转载

    本文的学习流程是这样安排的. 一个简单的GDI小案例 1.说明 如果你想思考如何生成验证码,那么您第一个要解决的问题,一定是.NET动态生成图片问题. //GDI:.Net程序中进行绘图的一些类. 2 ...

  3. 18第一章 ASP.Net内建对象

    第一章        ASP.Net内建对象 第一章        ASP.Net内建对象 ASP.Net为保持用户的数据和信息,内建了许多对象,包括Application.Response.Requ ...

  4. Asp.net有三大对象:HttpContext, HttpRequest, HttpResponse

    一.Asp.net有三大对象:HttpContext, HttpRequest, HttpResponse.命名空间:  System.Web程序集:  System.Web(在 System.Web ...

  5. Cookie详解、ASP.NET核心知识(7)

    无状态的http协议 1.回顾http协议 Http协议是请求响应式的,有请求才有响应,是无状态的,不会记得上次和网页“发生了什么”. 关于http协议的这种特点,黑兔在前面的这三篇博文中进行了详细的 ...

  6. 网络基础知识、ASP.NET 核心知识(1)*

    为什么要写网络? 我原本的计划是这样的,连续两天梳理ASP.NET开发的核心知识.说到这呢,有人问了.“不是说好了做ASP.NET笔记吗?为啥要写网络基础知识?是不是傻?” 原因是这样的.作为网站开发 ...

  7. ASP.NET中application对象

    ASP.NET中application对象的使用. Application对象的应用  1.使用Application对象保存信息  (1).使用Application对象保存信息  Applicat ...

  8. 初识 Asp.Net内置对象之Response对象

    Response对象 Respose对象用于将数据从服务器发送回浏览器.它允许将数据作为请求的结果发送到浏览器,并提供有光响应的信息,可以用来在页面中输入数据,在页面中跳转,还可以传递各个页面的参数, ...

  9. ASP.NET 内置对象涉略

    一.ASP.NET中内置的常用对象的介绍 本文列举了ASP.NET 的八个内置对象,其中前五个是比较常用的. 1.Response Response 对象用于从服务器向用户发送输出的结果. Write ...

随机推荐

  1. #include <iostream>

    1 static_assert 2 std::nothrow 3 std::ref() 4 std::string 1 static_assert 执行编译时断言检查 语法 static_assert ...

  2. 魔兽世界---屠夫(Just a Hook)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  3. linux下Oracle11g RAC搭建(六)

    linux下Oracle11g RAC搭建(六) 五.校验安装前的环境 root身份下完毕解压grid.database安装包 [grid@node1 soft]$ su - Password: [r ...

  4. Windows内核之进程的终止和子进程

    1 进程终止的方法: <1>主线程的进入点函数返回(最好使用这种方法) <2>进程中的一个线程调用ExitProcesss函数(应该避免使用这样的方法). <3>还 ...

  5. md笔记——编程术语

    thinkPython 读书笔记 本列表根据thinkPython中记录的大量编程术语 整理而来. 该书的重点不是教会你Python,而是培养读者用计算机科学家一样的思路来思考,设计,开发. 讲解了语 ...

  6. MailBee的简单使用

    保存为Eml文件方法:MailMessage.SaveMessage() 读取文件方法(不知道是不是我用的问题,没找到直接读取Eml文件的方法): MsgConvert conv = new MsgC ...

  7. WCF契约之---服务契约 、数据契约、 消息契约

    本篇博文只是简单说下WCF中的契约的种类.作用以及一些简单的代码示例.在WCF中契约分为服务契约.数据契约和消息契约.下面对这几种契约进行简单的介绍. 服务契约 服务契约描述了暴露给外部的类型(接口或 ...

  8. c++实现单例

    单例宏: //单件定义宏 //------------------------------------- // 在头文件中申明 // DECLARE_SINGLEOBJ( CSampleClass ) ...

  9. C++_知识点_全局变量

    全局变量 -全局变量即在函数之外定义的变量 -全局变量保存在静态存储区 注意: -全局变量只能声明和初始化 -全局变量不能进行运算.赋值(非初始化).调用函数 -否则会出现编译错误 -error: e ...

  10. 关于Android Launcher图标上面动态改变数字的实现

    由于项目需要使用到类似小米应用商店的图标数字提示功能,谷歌百度了许多文章都没看到有真正意义上的实现(没有在国外网站上搜索),有实现在APP内部的一个ImageView上面更新数字的,当然这种太简单无非 ...