IIS 7.0 的 ASP.NET 应用程序生命周期概述
本主题介绍在 IIS 7.0 集成模式下运行以及与 IIS 7.0 或更高版本一起运行的 ASP.NET 应用程序的应用程序生命周期。IIS 7.0 还支持经典模式,其行为类似于在 IIS 6.0 中运行的 ASP.NET。有关更多信息,请参见 IIS 5.0 和 6.0 的 ASP.NET 应用程序生命周期概述。
IIS 7.0 集成管道是一种统一的请求处理管道,它同时支持本机代码和托管代码模块。实现 IHttpModule 接口的托管代码模块可访问该请求管道中的所有事件。例如,托管代码模块可用于 ASP.NET 网页(.aspx 文件)和 HTML 页(.htm 或 .html 文件)的 ASP.NET Forms 身份验证。即使 IIS 和 ASP.NET 将 HTML 页视为静态资源,情况也是如此。有关 IIS 7.0 集成模式的更多信息,请参见 ASP.NET Integration with IIS7(将 ASP.NET 与 IIS7 集成)。
本主题包含以下部分:
结构概述
生命周期阶段
使用 Global.asax 文件
IIS 7.0 中的托管代码模块
结构概述
在 IIS 7.0 集成模式下的请求会经历几个阶段,类似于在 IIS 6.0 中对 ASP.NET 资源的请求所经历的阶段。但是,在 IIS 7.0 中,这些阶段包含多个额外的应用程序事件,如 MapRequestHandler、MapRequestHandler 和 MapRequestHandler 事件。
IIS 7.0 和 IIS 6.0 的处理阶段之间的主要区别在于 ASP.NET 如何与 IIS 服务器集成。在 IIS 6.0 中,有两个请求处理管道。一个管道用于本机代码 ISAPI 筛选器和扩展组件。另一个管道用于托管代码应用程序组件,如 ASP.NET。在 IIS 7.0 中,ASP.NET 运行时与 Web 服务器集成,这样就有了一个针对所有请求的统一的请求处理管道。对于 ASP.NET 开发人员,集成管道有以下益处:
集成管道引发由 HttpApplication 对象公开的所有事件,这使现有 ASP.NET HTTP 模块可在 IIS 7.0 集成模式下工作。
在 Web 服务器级别、网站级别或 Web 应用程序级别,都可配置本机代码和托管代码模块。这包括用于会话状态、Forms 身份验证、配置文件以及角色管理的内置 ASP.NET 托管代码模块。此外,可以为所有请求启用或禁用托管代码模块,无论请求是否针对 ASP.NET 资源(如 aspx 文件)。
可以在管道中的任何阶段调用托管代码模块。这包括在对请求进行任何服务器处理之前,在所有服务器处理都已发生之后,或者两者间的任何阶段。
可以通过应用程序的 Web.config 文件注册模块,也可以启用或禁用模块。
下面的插图演示应用程序的请求管道的配置。该示例包括以下内容:
Anonymous
相关文档:
首先,他们的运行机制不同。asp是属于一种解释型的框架!是解释执行的,是脚本。asp.net是编译型的!最终会编程二进制的机器代码。从这一点来说,asp.net执行效率上要比asp高!
其次,asp只允许使用js或者vbs。而asp.net则不一样,只要符合公共语言运行库规范的语言,都可以使用!从这一点上来说,asp在底层操作上较asp.ne ......
在Web程序中,我们知道,服务器端和IE客户端不是常连的,只有访问时才连接,一旦页面加载完后,这个连接就会断开,也就是说,访问页面A后,再访问页面B时,服务器端是不知道你已经访问过页面A了,甚至对于同一个页面,服务器端也不会去记录你的访问,每次都会重新实例话访问的页面。
这就带来一个问题,如果实现我访问了Lo ......
在ASP.NET MVC beta发布之前,M$就宣布支持开源的JS框架jQuery,然后ASP.NET MVC
beta发布后,你建立一个ASP.NET MVC beta的项目后,你可以在项目的scripts目录下找到ASP.NET
AJAX和jQuery的JS。反正我是比较喜欢jQuery的,所以对于M$此举还是挺欣慰的。
废话不多说,我们使用AJAX来实现发表评论的功能吧。先来看看怎� ......
ASP.NET提供了事件驱动编程模型,使开发者简化了应用程序的总体设计,但是这个也造成了它固有的一些问题,例如,在传统的ASP里,我们可以通过使用POST方法很容易地实现页面间传递变量,同样的事情,在使用事件驱动编程模型的ASP.NET就要麻烦一些,但是我们仍然有一些方法可以实现同样的功能。笔者在这里将包含使用que ......
ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果。此外,如果您要开发自定义控件,就必须熟悉页生命周期,以 ......