从ASP.NET 1.0 起,相比于ASP中的COM, PipeLine 就是一项重大的改进。 ASP.NET 时代的管道模型究竟是怎么样的?

    我们能接触到的四个最重要的概念就是HttpApplication, theHttpContext, the HttpModule, and the HttpHandler.

The HttpApplication

一般来说,一个Request 的Endpoint是一个Http Handler。 但是一个Handler存在的周期非常的短,比如说我们想缓存一个全局的对象,无法在这个Handler                         中去长久保存。而HttpApplication就有这个作用。

        The HttpContext

一个Pipe周期中各个过程直接需要传递Request的相关信息,就需要这么一个中介。值得注意的是我们并不需要显式的去传递这个HttpContext, 因为这个对象存在于PipeLine中可以静态的获得。

The HttpModules

HttpModules

如果说Http Handler是一个Request的终点的话,Http Modules是所有请求必经之路PipeLine的一段路。

首先要注册Modules, 一般在Web.config. 当然IIS的集成模式下,可以用命令行的方式注册。

Modules 可以跟踪很多事件,然后在这些事件中处理Request.

HTTP Modules 和Global.asax 的选择

Modules的最大好处就是能重用,能编译放到GAC里面。

1 如果代码不需要重用, Global.asax 足够了

2 如果有特殊需求,比如说 Session_Start and Session_End的事件在Modules里面是无法处理的。

The HttpHandlers

是一个Request的Endpoint.像aspx,asmx,ashx这些其实就是实现了IHttpHandler接口的一些类。

转载于:https://www.cnblogs.com/wushuaiyi/p/4642837.html

ASP.NET PipeLine #Reprinted#相关推荐

  1. [翻译] ASP.NET内幕 - IIS处理模型

    原文地址:ASP.NET Internals – IIS and the Process Model 2007.05.03 Simone Busoli ASP.NET是开发Web应用和组建的漂亮的框架 ...

  2. 11个显著提升 ASP.NET 应用程序性能的技巧——第1部分

    2019独角兽企业重金招聘Python工程师标准>>> [编者按]本文出自站外作者 Brij Bhushan Mishra ,Brij 是微软 MVP-ASP.NET/IIS.C# ...

  3. 随便说说:在ASP.NET应用程序中上传文件

    在Web程序中上传文件是很常见的需求.利用HTTP协议上传文件的方式非常有限,最常见的莫过于使用<input type="file" />元素进行上传.这种上传方式会将 ...

  4. 从底层了解ASP.NET体系结构

    A low-level Look at the ASP.NET Architecture Getting Low Level  进入底层: This article looks at how Web ...

  5. 关于.NET技术体系的思维导图

    对不起被骗进来的各位,实在有点标题党 最近要为学弟们弄点东西,主要是介绍方面的,我弄了一个思维导图,想以这些方面展开.但是想法并不成熟,所以在这里想征集一下大家的意见. 1.可以帮助我完善这个图 2. ...

  6. Url Rewrite 再说Url 重写

    前几天看到园子里一篇关于 Url 重写的文章<获取ISAPI_Rewrite重写后的URL> , URL-Rewrite 这项技术早已不是一项新技术了,这个话题也已经被很多人讨论过多次.搜 ...

  7. WIF - claims-based identity

    最近使用了Sharepoint 2010的开发,其中包括一个新的服务STS,看了一下,主要资料如下: 现有的认证授权如Memebership的开发支持已经比较完善了,之所以引入WIF,主要是通过间接的 ...

  8. .NET(C#) Internals: .NET Framework中已使用的设计模式

    --适合有一定设计模式基础和.NET基础的人阅读. 写在前面 "设计模式"我一向是敬而远之的态度,不会去写这方面的文章,原因有二:第一,要想写好设计模式的文章太难,需要笔者丰富的经 ...

  9. Security Tutorials系列文章第七章:User-Based Authorization(上)

    本文英文原版及代码下载:http://www.asp.net/learn/security/tutorial-07-cs.aspx Security Tutorials系列文章第七章:User-Bas ...

最新文章

  1. 《OpenCV3编程入门》学习笔记10 角点检测(二)Shi-Tomasi角点检测
  2. Git Fetch vs Pull:Git Fetch和Git Pull命令之间有什么区别?
  3. 李飞飞下半年或将从 Google离职?李飞飞回应
  4. pandasDataFrame 的定位指定文件
  5. 为什么我们需要一门新语言——Go语言
  6. C++中文转码问题(GB2312 - UTF8)
  7. 串口通信模块5:串口操作自定义类(3)
  8. 无线 iphone客户端测试白皮书(二)
  9. Istio微服务平台集成实践
  10. hibernate批量上传
  11. navicat 不能正常启动
  12. basis问题专区(文档)
  13. 11个炫酷的Linux终端命令大全
  14. 苍井空老师的Twitter
  15. Android开发之NDK开发之生成so库基础入门
  16. 2020长安杯网站重构部分
  17. 优达前端课程免费分享
  18. 【MILP】Mixed-Integer Quadratic Programming portfolio optimzation
  19. 阿里云 语音通知 语音验证码 收不到 白名单
  20. iOS 抽奖程序 可指定版

热门文章

  1. GOPROXY环境变量中direct的含义与用途
  2. vue v-show指令
  3. Golang gin框架:GET请求示例
  4. Jenkins CLI命令行工具,助你轻松管理 Jenkins
  5. k8s容器探针:就绪检测、存活检测
  6. scala整型的类型及取值范围
  7. 应用服务关闭时eureka客户端会向server发送销毁请求
  8. Linux id指令
  9. 请解释一下http请求中的304状态码的含义
  10. @EnableCaching与@Cacheable的使用方法,结合redis进行说明