HTTP运行期与页面执行模型

PlatformIO离线安装终极方法 PlatformIO IDE (core)离线安装终极方法 ​ 众所周知,PlatformIO的资源服务器在国外,其资源包和更新包经常出现下载不了而导致PlatformIO Home界面无法启动的情况。 ​ 这几年,我上的智能硬件课程中使用PlatformIO作为课程的开发环境。在机房软件环境配置中,我是从一台通宵开几天,成功在线安装后的电脑中拷贝出内核和环境文件去配置其它电脑。由于机房中机器环境都是相同的,所以配置起来没什么问题。但是这次网课期间,在学生自己电脑上配置,仍然安装上述方法, 阅读详情
http://www.cnblogs.com/stwyhm/archive/2006/08/08/470972.html

HTTP运行期与页面执行模型

—— 一点一点学ASP.NET

文野:2006年8月8日星期二

 

HTTP运行期

HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。

进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。

HTTP运行期首先创建一个HttpContext对象的实例,它包含了当前正在处理的请求信息,接着创建在处理逻辑中涉及到的所有其他组件都可以使用的上下文对象。HttpContext实例提供了对请求对象(HttpRequest类的实例)和响应对象(HttpResponse类的实例)的访问。

HTTP运行期集成由称为HTTP模块(HTTP Module)的组件构成的处理管线,用于执行请求预处理动作(如:高速缓存的查询和授权)和后处理动作(如:更新调整缓存)。这些组件实现IHttpModule接口。在管线中,每个模块处理不同的全局应用层次和特定请求事件来执行其逻辑。

HTTP运行期基于请求的URL还选择一个HTTP处理程序(实现IHttpHandler接口的组件)或HTTP处理程序工厂(实现IHttpHandlerFactory接口的组件)来完成引入请求的实际处理过程。处理程序用HttpContext对象来收集请求信息、并写出响应的结果。


图1:ASP.NET Web 应用程序中的请求处理过程

 

一个HTTP请求的处理过程

当一个HTTP请求被送入HttpRuntime之后,这个HTTP请求会继续被送入到一个被称为HttpApplicationFactory的容器中。而这个窗口会给出一个HttpApplication实例来处理传递进来的HTTP请求,而后这个HTTP请求会依次进入如下几个容器中:

HttpModule ——> HttpHandler Factory ——> HttpHandler

当系统内部的HttpHandler的ProcessResquest的方法处理完毕之后,整个Http Request就被处理完成了,客户端也就得到相应的结果了。

 

一个完整的HTTP请求在ASP.NET Framework的处理过程如下:

HttpRequest ——> inetinfo.exe ——> ASPNET_ISAPI.dll ——> Http Pipeline ——> ASPNET_WP.exe ——> HttpRuntime ——> HttpApplication Factory  ——> HttpApplication  ——> HttpModule ——> HttpHandler Factory  ——> HttpHandler  ——> HttpHandler.ProcessRequest()

 

页面执行模型

页面执行模型由页面HTTP处理程序工厂开始,它注册HTTP运行期以为所有.aspx文件处理请求。页面处理程序工厂负责创建一个Page对象的实例,这是将最终处理请求所生成响应结果的HTTP处理程序。

首先页面处理程序工厂尝试在与请求的.aspx文件相关的.NET高速缓存内查找以前编译过的页面类。当查找失败时,就像第一次请求一样,处理程序工厂将读取和解析文件,并创建一棵解析树(parse tree)。解析树类似于控件树,但是并不包含控件,解析树包含称为控件生成器(control builder)的对象实例。控件生成器包含了在解析过程期间收集的相关控件信息。然后通过Page指令中的Language attribute,用与页面相关的语言把解析树转变为代码。然后,页面处理程序工厂调用适当的编译程序,动态地编译从Page中得到的类,页面处理程序工厂还将新建的类放置到ASP.NET调整缓存中,并且把高速缓存记录和文件相关性关联起来。文件相关性监视.aspx文件做出的变化,并保证任何变化都自动地使高速缓存记录无效,在下次请求时这些记录将再次解析修改过的文件。


图2:页面如何处理请求

 

参考资料
    《ASP.NET服务器控件与组件开发》
    《ASP.NET深入解析》


如何五分钟内搭建VSCode+PlatformIO(离线版本)并成功建立一个ESP32工程 大家好,今天教大家如何很快搭建VSCode+platformIO插件模块(离线版本)。我用了不到五分钟就建好了,适用于windows10和windows11系统。 阅读详情

相关推荐

vscode 安装platformio离线安装

找到C盘用户路径下,可以看到有一个.platform的目录,删除,解压后得到文件夹.platformio,复制到我们刚刚删除的地方,以我的为例,在:C:/用户/caokaifa/路径下面

一点一点学ASP.NET之基础概念——HTTP运行期与页面执行模型

HTTP运行期与页面执行模型—— 一点一点学ASP.NET文野:2006年8月8日星期二 HTTP运行期HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到A

月光无影 1859

图文手把手教程--ESP8266开发环境搭建(开发平台VSCODE+PlatformIO,框架Arduino、RTOS_SDK)

非常详细,一步一步教你搭环境,绝对不亏

HttpRuntime的认识与加深理解

下面最先介绍HttpRuntime的Web.config里的配置 <httpRuntime   executionTimeout = "number"    maxRequestLength = "number"    requestLengthDiskThreshold = "number"    useFullyQualifiedRedirectUrl = "[True|False]"...

weixin_34273046的博客 444

解决PlatformIO在VScode中初次安装速度慢的问题,包含工具链等文件

下载文件后解压到packages目录中,之后再创建工程速度快的飞起,解决PlatformIO在VScode中初次安装速度慢的问题

PlatformIO 离线安装资源

阿里云盘下载链接:https://www.aliyundrive.com/s/pFDFnmdz8mi 包含ESP32和ESP8266的arduino框架开发环境。

【Framework】HTTP运行期与页面执行模型

【Framework】HTTP运行期与页面执行模型 HTTP运行期 HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。 进入的HTTP Web请求最先由II...

baihuomeng2210的博客 118

储能电站 BMS 与车载动力电池 BMS 核心差异:工况、保护策略、控制逻辑对比

储能电站BMS与车载动力电池BMS虽同名,实为针对不同赛道量身定制的产品。简单地将车载BMS方案套用于储能,或将储能BMS思路用于车载,都可能带来性能、安全或成本上的严重问题。在选择和设计BMS时,必须回归其应用场景的本质需求储能BMS是**“资产管理者”**,精打细算,追求在长达十余年的服役期内稳定、高效地创造收益。车载BMS是**“性能与安全卫士”**,反应敏捷,确保在车辆全生命周期内动力澎湃且万无一失。

小帽子的博客 423

[转贴]HTTP运行期与页面执行模型

 HTTP运行期HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。HTTP运行期首先创建一个HttpContext对象的实例,它包含了

goody9807的专栏 724

EB TRESOS 29.0.0安装教程用于MCAL配置开发

本文介绍的搭建基于NXP官网提供EB软件,进行基于标准AUTOSAR软件底层驱动配置的开发

qq_53260940的博客 1882

Odoo 集成ReportBro报表设计器支持13,14,15,16,17,18,19

Odoo 集成ReportBro零代码报表设计器,ReportBro设计器 一个用于创建PDF和XLSX报告模板的javascript插件。

zxltwins的博客 3378

Http运行期与页面执行模型

HTTP运行期: HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求, 然后产生响应并发回提出请求的客户端应用程序。 进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。 HTTP运行期首先创建一个HttpContext对象的实例,它包

对信仰的忠诚丶 585

HC-05蓝牙模块AT指令配置避坑全记录:从配对失败到稳定主从通信

本文详细记录了HC-05蓝牙模块AT指令配置的全过程,从基础认知到主从通信的稳定实现。涵盖了进入AT模式的方法、关键AT指令详解、主从配对流程及常见故障排除,帮助开发者快速掌握蓝牙串口模块的配置技巧,避免常见配对失败问题。

weixin_42632434的博客 416

HTTP运行期与页面执行模型 【转】

HTTP运行期 HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。 进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。 HTTP运行期首先创建一个HttpContext对象的实例,它包含了当前正...

weixin_30371469的博客 149

Python实战:5分钟搞定固定翼无人机三自由度仿真(附完整代码)

本文提供了一个基于Python的固定翼无人机三自由度仿真快速实现方案。通过面向对象设计,封装了核心运动学模型,并对比了欧拉法与龙格-库塔法两种积分方法。文章附有完整实例代码,帮助算法工程师和研究人员在5分钟内搭建轻量级仿真环境,用于快速验证控制律、路径规划等核心算法逻辑。

docker7nomad的博客 749

NVIDIA DGX Spark实战:如何在桌面上轻松运行200B参数大模型?

本文详细介绍了如何利用NVIDIA DGX Spark在桌面端轻松运行200B参数大模型。通过实战演示,从系统初始化、模型获取部署到内存管理与性能调优,重点解析了其统一内存架构如何解决本地推理的显存瓶颈,并探讨了进行轻量化微调(如LoRA)的可能性,为AI开发者和研究团队提供了高效的本地化大模型操作方案。

weixin_29054195的博客 886
上一篇: HttpModule是如何工作的
下一篇: css+div宽度自适应实例代码
mx5721
博客等级 码龄17年 24粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值