了解 ASP.NET 底层架构
进入底层
这篇文章以非常底层的视角讲述了 请求()在
框架中是如何流转的从 服务器通过 直到请求处
理器和你的代码看看在幕后都发生了些什么不要再把
看成一个黑盒了
ASP.NET 是一个非常强大的构建 Web 应用的平台,它提供了极大的灵活性和能力以致于可以
用 它 来 构 建 所 有 类 型 的 Web 应用 . 绝 大 多 数 的 人 只 熟 悉 高 层 的 框 架 如 WebForms 和
WebServices-这些都在 ASP.NET 层次结构在最高层.在这篇文章中我将会讨论 ASP.NET
的底层机制并解释请求(request)是怎么从 Web 服务器传送到 ASP.NET 运行时然后如何通
过 ASP.NET 管道来处理请求.
对我而言了解平台的内幕通常会带来满足感和舒适感深入了解也能帮助我写出更好的应用知
道可以使用哪些工具以及他们是怎样作为整个复杂框架的一部分来互相配合的可以更容易地找
出最好的解决方案更重要的是可以在出现问题时更好的解决它们这篇文章的目标是从系统级
别了解 并帮助理解请求是如何在 的处理管道中流转的同样我们
会了解核心引擎和 请求如何在那里结束这些信息大部分并不是你在日常工作时必须了解
的但是它对于理解 架构如何把请求路由到你的代码通常是非常高层的中是非常有
益的
不管怎么样 从更低的层次上提供了更多的灵活性 运行时和请求管道在构建
和 上提供了同样的能力 它们事实上都是建立在 托管代码上的
而且所有这些同样的功能对你也是可用的你可用决定你是否需要建立一个比 稍低
一点层次的定制的平台
显然是最简单的构建绝大多数 接口的方法不过如果你是在建立自定义的内容
处理器或者有在处理输入输出内容上有特殊的要求或者你需要为另外的应用建立一
个定制的应用程序服务接口使用这些更低级的处理器或者模块能提供更好
的性能并能对实际请求处理提供更多的控制在 和 这些高层实现提
供它们那些能力的同时它们也对请求增加了一些额外负担这些都是在更底层可以避免的
ASP.NET 是什么
让我们以一个简单的定义开始!什么是 "我喜欢这样定义 !
ASP.NET 是一个复杂的使用托管代码来从头到尾处理 Web 请求的引擎.
它并不只是 WebForms 和 WebServies…
是一个请求处理引擎它接收一个发送过来的请求把它传给内部的管道直到终点作为