不管使用哪种底层平台,可靠性和性能都是对所有 web 应用程序的主要要求,尽管从某种意义上讲,这两个要求是相互矛盾的。例如,要构建更可靠、更健壮的应用程序,可能需要将 web 服务器与具体的应用程序分离,使应用程序在进程外工作。但是,如果在不同于 web 服务器进程的内存环境中工作,应用程序将变慢。因此,需要采取合理的措施,以确保进程外代码尽可能快地运行。
在构建 microsoft? asp.net 运行时环境时,依据的设计原则即:充分考虑可靠性和性能。得到的 asp.net 进程模型包含了两个系统元素 - 一个存在于 web 服务器进程中的进程内连接器,一个外部的辅助进程。另外,asp.net 运行时结构的可伸缩能力很强,可以自动使用多处理器硬件中任意选定的处理器。这种模式被称为“web garden”,它可以使多个辅助进程同时运行,而且各个进程均在独立的处理器中。
高度概括起来,asp.net 运行时具有三大属性:
应用程序和 asp.net 辅助进程之间完全分离。提供服务的辅助进程的寿命决不会影响应用程序的寿命。换句话说,当应用程序启动并处于运行状态时,辅助进程可以随时终止。
尽管 asp.net 应用程序从不在 web 服务器内采用进程内的方式运行,但大多数情况下,其总体性能仍接近于进程内应用程序的性能。
为 web garden 体系结构提供了内置的和可配置的支持。只要简单检查一下配置文件中的设置,辅助进程就可以克隆自己,以利用所有与进程密切相关的 cpu。因此,在大多数情况下,您在具备多处理器的计算机中获得的可缩放性将呈线性增长的趋势。(本文后面将详细介绍此内容。)
本文将介绍 asp.net 运行时环境的组成元素,然后一步一步地讲述从 url 请求变为纯 html 文本的“漫长而曲折”的过程。
除非另有说明,否则以下介绍中均指 asp.net 的默认进程模型,即 microsoft? inte.net information services (iis) 5.x 中唯一的模型。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器