当前位置: 首页 > news >正文

信息管理系统网站开发教程ip设计

信息管理系统网站开发教程,ip设计,网站的栏目,nginx环境下安装wordpress转载--【笔记】Asp.Net构架(Http请求处理流程) 最近接触了一些Asp.Net开发人员#xff0c;在聊到技术的时候#xff0c;发现很多的Asp.Net开发人员都不明白在ASP.NET中一个页面请求的处理流程#xff0c;今天自己在反思的过程中#xff0c;发现我自己对这个也是一知半解在聊到技术的时候发现很多的Asp.Net开发人员都不明白在ASP.NET中一个页面请求的处理流程今天自己在反思的过程中发现我自己对这个也是一知半解于是抽时间又拜读了一次张子阳同学的文章。读罢记录一部份重要的在自己的博客。 Http请求刚刚到达服务器的时候 当服务器接收到一个 Http请求的时候IIS 首先需要决定如何去处理这个请求NOTE服务器处理一个.htm页面和一个.aspx页面肯定是不一样的么。那IIS依据什么去处理呢―― 根据文件的后缀名。 服务器获取所请求的页面NOTE也可以是文件比如 jimmy.jpg的后缀名以后接下来会在服务器端寻找可以处理这类后缀名的应用程序如果IIS找不到可以处理此类文件的应用程序并且这个文件也没有受到服务器端的保护NOTE一个受保护的例子就是 App_Code中的文件一个不受保护的例子就是你的js脚本那么IIS将直接把这个文件返还给客户端。 能够处理各种后缀名的应用程序通常被称为 ISAPI 应用程序NOTEInternet Server Application Programe Interface互联网服务器应用程序接口。虽然这 ISAPI 听上去还挺气派也算是“应用程序”呢但仔细看看它的全称就明白了它实际上只是一个接口起到一个代理的作用它的主要工作是映射所请求的页面(文件)  和与此后缀名相对应的实际的处理程序。 让我们更进一步地看一下 ISAPI 看看它到底是什么样子请按下面的步骤进行 打开IIS。 选择随意一个站点鼠标右键“属性”。 选择“主目录”选项卡。 选择“配置”。 你应该会看到如下的画面 图1. 应用程序配置 很清楚地就可以看到所有IIS所能处理或者叫 ISAPI 所提供代理服务的 文件类型 及其相对应的实际的后台处理程序都在这里清楚地列出来了。 我们找到 .aspx 的应用处理程序然后点“编辑”会出现下面的画面 图2. 编辑.aspx文件的处理程序 一路看到这里可以看出所有的.aspx文件实际上都是由 aspnet_isapi.dll 这个程序来处理的当IIS把对于.aspx页面的请求提交给了aspnet_isapi.dll以后它就不再关心这个请求随后是如何处理的了。现在我们应该知道Asp.Net 只是服务器(IIS)的一个组成部分而已它是一个 ISAPI扩展。 这里需要注意两点 当你修改“限制为”后可以限制页面(文件)只能以某种特定方式访问 “确认文件是否存在”是实现 URL 地址映射的关键选项我以后会专门讲述。 理解宿主环境Hosting 从本质上讲Asp.Net 主要是由一系列的类组成这些类的主要目的就是将Http请求转变为对客户端的响应。HttpRuntime类是Asp.Net的一个主要入口它有一个称作 ProcessRequest 的方法这个方法以一个 HttpWorkerRequest 类作为参数。HttpRuntime 类几乎包含着关于单个 Http请求的所有信息所请求的文件、服务器端变量、QueryString、Http 头信息 等等。Asp.Net 使用这些信息来加载、运行正确的文件并且将这个请求转换到输出流中一般来说也就是HTML页面。 NOTE二般来说也可以是张图片。 当 Web.config文件的内容发生改变 或者 .aspx文件发生变动的时候为了能够卸载运行在同一个进程中的应用程序NOTE卸载也是为了重新加载Http请求被分放在相互隔离的应用程序域中。 NOTE可能你以前就听过应用程序域但是不了解怎么回事应用程序域就是 AppDomain。 对于IIS来说它依赖一个叫做 HTTP.SYS 的内置驱动程序来监听来自外部的 HTTP请求。在操作系统启动的时候IIS首先在HTTP.SYS中注册自己的虚拟路径。 NOTE实际上相当于告诉HTTP.SYS哪些URL是可以访问的哪些是不可以访问的。举个简单的例子为什么你访问不存在的文件会出现 404 错误呢就是在这一步确定的。 如果请求的是一个可访问的URLHTTP.SYS会将这个请求交给 IIS 工作者进程。 NOTEIIS6.0中叫做 w3wp.exeIIS5.0中叫做 aspnet_wp.exe。 每个工作者进程都有一个身份标识 以及 一系列的可选性能参数。 NOTE可选性能参数是指诸如 回收机制的设置、超时时间设置 等等。 接下来进行的事情就是上一章节讲述的 ISAPI 了。 除了映射文件与其对应的处理程序以外ISAPI 还需要做一些其他的工作 从HTTP.SYS中获取当前的Http请求信息并且将这些信息保存到 HttpWorkerRequest 类中。 在相互隔离的应用程序域AppDomain中加载HttpRuntime。 调用 HttpRuntime的ProcessRequest方法。 接下来才是程序员通常编写的代码所完成的工作了然后IIS 接收返回的数据流并重新返还给 HTTP.SYS最后HTTP.SYS 再将这些数据返回给客户端浏览器。 图3.Asp.Net 的宿主环境 理解管道Pipeline 在前面两章中我们在一个相对比较低的层次上讨论了从发出Http请求到看到浏览器输出这转瞬即逝的十分之一秒内IIS和 Framework 所做的事情。但是我们忽略了一个细节程序员编写的代码是如何在这一过程中衔接的本章我们就来看看这个问题。 当Http请求进入 Asp.Net Runtime以后它的管道由托管模块NOTEManaged Modules和处理程序NOTEHandlers组成并且由管道来处理这个 Http请求。 图4. 理解 Http 管道 我们按编号来看一下这幅图中的数据是如何流动的。 1. HttpRuntime将Http请求转交给 HttpApplicationHttpApplication代表着程序员创建的Web应用程序。HttpApplication创建针对此Http 请求的 HttpContext对象这些对象包含了关于此请求的诸多其他对象主要是HttpRequest、HttpResponse、 HttpSessionState等。这些对象在程序中可以通过Page类或者Context类进行访问。、 2. 接下来Http请求通过一系列Module这些Module对Http请求具有完全的控制权。这些Module可以做一些执行某个实际工作前的事情。 3. Http请求经过所有的Module之后它会被HttpHandler处理。在这一步执行实际的一些操作通常也就是.aspx页面所完成的业务逻辑。可能你会觉得在创建.aspx页面并没有体会到这一过程但是你一定知道.aspx 页面继承自Page类我们看一下Page类的签名 public class Page : TemplateControl, IHttpHandler{// 代码省略} 可以看到Page类实现了IHttpHandler接口HttpHandler也是Http请求处理的最底层。 4.HttpHandler处理完以后Http请求再一次回到Module此时Module可以做一些某个工作已经完成了之后的事情。 NOTE注意我用红色标识的字然后回想一下Asp.Net 中是不是有众多的 Inserting 、Inserted 之类成对的事件其实这里讲述的就是为什么Asp.Net可以将一个Insert操作分成前后两部分然后再分别进行事件拦截的幕后原理。 如果我们将注意力只集中在Http请求、HttpHandler和HttpModule上不去考虑HttpContext和HttpApplication那么图4.可以简化成下面这样 图5.Http请求在HttpHandler 和 HttpModule 中的流动方向 posted on 2009-05-06 17:50 ecmascript 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/ecmascript/archive/2009/05/06/1450864.html
http://wiki.neutronadmin.com/news/317770/

相关文章:

  • 政务网站建设工作的通知网站后台常用密码
  • 网站的内容有哪些内容吗自己网站上做支付宝怎么收费的
  • ps网站头部图片小米商城网站开发文档
  • 免费做网站的网址有哪些wordpress精品
  • 专题文档dede企业网站建设做网站的要到处跑吗
  • 联合易网做网站视频直播网站开发 设计
  • 做网站是什么会计科目房产政策最新消息
  • 公司网站的功能青海工程建设云网站
  • 北京seo代理商哈尔滨网络优化公司
  • 最好看的免费网站源码注册小程序需要什么条件
  • 商场设计软件关键词排名手机优化软件
  • 广州移动 网站设计旅游型网站建设
  • 深圳网站建设便宜信科网络公司网址怎么制作
  • 上海室内设计有限公司搜索引擎优化排名案例
  • 电子商务师搜索引擎优化的方法
  • 盐山县网站建设公司抖音小程序入驻
  • 东莞建设工程质量网站网站包括哪些主要内容
  • 岳阳网站岳阳建站永久免费网站建设系统
  • 网站备案主体更换郑州友网站建设
  • 新人如何做自己的网站wordpress编写模板
  • 自适应型网站建设哪家好手机app编程工具
  • 自己怎样做网站盐城网站推广电话
  • 湖北省住房与城乡建设厅网站网站服务器到期为什么要网站备案
  • 男女做受网站装修公司哪家好又便宜
  • 关于公司做网站供比价报告浙江省建设厅官网
  • 建站论坛福建凭祥建设工程有限公司网站
  • phpcmsv9网站地图东莞 营销网站建设
  • phpwind 做企业网站长春建设信息网站
  • 如何做好集团网站建设青岛团购网站建设
  • 天水网站建设公司建立企业网站的形式有哪些