ASP.NET应用程序文件系统布局的示例
本图中的ASP.NET应用程序包括 \Bin 目录中的两个 DLL 文件、一个 Default.aspx 页,一个名为 Menu.ascx 的用户控件、一个名为 MyWebService.asmx 的 XML Web 服务以及一个 Global.asax 文件。另外,该应用程序是使用下列三个配置文件配置的:系统根目录中计算机级别的 Machine.config 文件、C:\Inetpub\Wwwroot 目录中站点级别的 Web.config 文件和应用程序根目录中应用程序级别的 Web.config 文件。当站点的 Web.config 文件覆盖 Machine.config 文件中的设置时,在ASP.NET应用程序根目录中存储的配置设置将覆盖站点的 Web.config 文件和 Machine.config 文件中的设置。
ASP.NET与IIS、ASP 之间的比较
ASP.NET应用程序与 Internet 信息服务 (IIS) 之间的关系如下:IIS 通过 aspnet_isapi.dll(ASP.NET 的进程模型)对可发布的 ASP.NET 文件的所有请求提供服务。IIS 不会处理服务器端的代码;而 ASP.NET 引擎则会处理服务器端代码,然后将输出返回给 IIS(如果可能,或另一个 Web 服务器)。
ASP.NET 并非仅仅是下一代的ASP,它为创建利用 Internet 的网络应用程序提供了全新的编程模型。ASP.NET与ASP比较的特点如下:
1、改进的性能和可伸缩性
1)编译后执行:ASP.NET 比传统 ASP 的运行速度更快,同时保留了 ASP"只需点击保存"的更新模型。无需显式的编译步骤。ASP.NET 自动检测变化,根据需要动态编译文件,并且保存编译结果以便后续的请求再次使用。动态编译保证了用户的应用程序总是最新的,并且编译后执行的操作会使其运行速度更快。对于多数从传统的 ASP 迁移到 ASP.NET 的应用程序,其处理的页数增长了 3 至 5 倍。
2)大容量输出缓存:ASP.NET 输出缓存极大地改进了应用程序的性能和可伸缩性。当在页面中启用输出缓存时,ASP.NET 就会执行一次该页并将结果在发送至用户之前保存在内存中。当其他用户请求同一页面时,ASP.NET 使用内存中的缓存结果向用户提供服务,而不是重新执行该页面。输出缓存是可配置的,并且可以用来缓存单个区域或整个页面。
3)Web 场会话状态:ASP.NET 会话状态允许我们在 Web 场中的所有计算机之间共享会话数据。现在,用户可以通过多个请求访问 Web 场中不同的服务器,并且仍然具有完全访问会话数据的权限。
2、增强的可靠性
内存泄漏、死锁和故障保护:ASP.NET 自动检测错误(例如,死锁和内存泄漏)并进行恢复以确保我们的应用程序始终可用。例如,当检测到内存泄漏时,ASP.NET 将自动启动新的 ASP.NET 工作进程副本,并将所有的新请求定向到该进程。当旧进程完成挂起请求的处理后,会经过适当的处置并释放泄漏的内存。
3、部署简单
1)"非接触式"应用程序部署:使用 ASP.NET,我们可以通过将其复制到服务器来进行整个应用程序的部署。配置设置将存储在应用程序的 XML 文件中。
2)动态更新运行的应用程序:ASP.NET 允许我们不必重新启动 Web 服务器而更新已编译的组件。与传统的 COM 组件(这些组件需要在部署更新后手动重新启动 Web 服务器)不同,ASP.NET 自动检测更改并使用新的代码启动。
3)迁移路径简单:ASP.NET 可以和传统的 ASP 应用程序一起在 Microsoft Windows 2000、Windows XP、以及 Windows Server 2003 家族成员的 IIS 上运行。我们可以一次迁移一个应用程序,甚至是单独的页面。ASP.NET 甚至允许我们继续使用现有的传统 COM 商务组件。
4、新的应用程序模型
1)XML Web 服务:XML Web 服务允许应用程序通过 Internet 进行通信和共享数据,而不管操作系统和编程语言如何。ASP.NET 使得公开和调用 XML 网络服务变得简单。
2)移动 Web 设备支持:ASP.NET 移动控件允许我们处理超过 80 台使用 ASP.NET 的移动 Web 设备。我们只需一次性写入ASP.NET应用程序,移动控件就能自动生成请求设备的页面。
5、开发人员的效率
1)简单的编程模型:具有服务器控件(这些控件允许我们使用比传统 ASP 更少的代码来构建效果极佳的页面)的 ASP.NET 使得动态构建真实的 Web 应用程序变得更加容易。
2)灵活的语言选项:ASP.NET 不仅支持 Microsoft Visual Basic Scripting Edition (VBScript) 和 Microsoft JScript,而且支持 25 种以上的 .NET 语言,包括对 Visual Basic .NET、Microsoft C# 和 JScript .NET 的内置支持。
3)丰富的类框架:.NET Framework 类库提供了 4500 多种类,这些类封装了大量的功能,诸如 XML、数据访问、文件上载、正则表达式、图像生成、性能监视和日志记录、事务、消息队列和 SMTP 邮件。以上是介绍ASP.NET 应用程序。
【编辑推荐】