详解ASP.NET应用程序

开发 后端
本文介绍ASP.NET应用程序与 Internet 信息服务 (IIS) 之间的关系,IIS 不会处理服务器端的代码;而 ASP.NET 引擎则会处理服务器端代码,然后将输出返回给 IIS。

ASP.NET应用程序文件系统布局的示例

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 应用程序。

【编辑推荐】

  1. ASP.NET插件的实现方式
  2. 概述ASP.NET应用程序
  3. 浅谈ASP.NET 2.0数据绑定
  4. ASP.NET阻止Java Script注入式攻击
  5. ASP.NET MVC使用T4
责任编辑:佚名 来源: 51CTO
相关推荐

2009-07-27 16:09:50

2009-07-20 16:08:04

ASP.NET应用程序

2009-08-05 10:16:54

部署ASP.NET应用

2009-07-29 17:01:13

2009-07-22 17:32:40

ASP.NET应用程序

2009-07-21 15:02:19

ASP.NET应用程序

2009-07-29 17:21:10

2009-07-23 14:25:03

ASP.NET 2.0

2009-07-29 10:30:53

Web应用程序ASP.NET

2009-08-04 11:46:09

2009-07-21 15:14:32

预编译应用程序ASP.NET

2009-07-21 15:23:55

预编译Web应用程序ASP.NET

2009-07-28 10:11:06

ASP.NET应用程序

2009-07-24 10:41:00

ASP.NET Web

2009-07-22 18:07:55

论坛应用程序ASP.NET MVC

2009-07-24 11:25:53

Web应用程序工程ASP.NET MVC

2009-07-27 17:46:42

WCF服务ASP.NET应用程序

2009-07-22 18:02:27

论坛应用程序ASP.NET MVC

2010-04-02 09:02:02

ASP.NET MVC

2009-07-23 13:14:20

ASP.NET应用程序
点赞
收藏

51CTO技术栈公众号