ASP 与 ASP.NET 之间的差异

ASP.NET 拥有更好的语言支持,一整套新的控件,基于 XML 的组件,以及更好的用户身份验证。

ASP.NET 通过允许编译的代码,提供了更强的性能。

ASP.NET 代码不完全向后兼容 ASP。

ASP.NET 的新特性

  • 更好的语言支持
  • 可编程的控件
  • 事件驱动的编程
  • 基于 XML 的组件
  • 用户身份验证,带有帐号和角色
  • 更高的可伸缩性
  • 更强的性能 - 编译代码
  • 更容易配置和开发
  • 不完全的 ASP 兼容

语言支持

ASP.NET 使用新的 ADO.NET。

ASP.NET 支持完整的 Visual Basic,而非 VBScript。

ASP.NET 支持 C# (C sharp) 和 C++。

ASP.NET 支持 JScript,和以前一样。

ASP.NET 控件

ASP.NET 包含大量 HTML 控件。几乎所有页面中的 HTML 元素都能被定义为 ASP.NET 控件,而这些控件都能由脚本控制。

ASP.NET 同时包含一系列新的面向对象的输入控件,比如可编程的列表框和验证控件。

新的 data grid 控件支持分类、数据分页,以及您对一个数据集控件所期待的一切。

事件驱动的控件

所有 Web 页面上的 ASP.NET 对象都能够发生可被 ASP.NET 代码处理的事件。

可由代码处理的加载、点击和更改事件使得编程更轻松,更有条理。

ASP.NET 组件

ASP.NET 组件深入地基于 XML。比如新的 AD Rotator,它使用 XML 来存储广告信息和配置。

用户身份验证

ASP.NET 支持基于表单的用户身份验证,包括 cookie 管理和自动的非授权登录重定向。

(您仍然能够定制自己的登陆页面和用户验证程序)。

User 帐户和角色

ASP.NET 允许用户帐户和角色,赋予每个用户(带有一个给定的角色)不同的服务器代码访问权限。

高可伸缩性

ASP.NET 在提供更大的可伸缩性方面已有非常多的改善。

服务器对服务器的通信已得到极大的增强,这使得在若干个服务器上按比例分配一个应用程序成为可能。关于这一点的一个例子是,我们有能力在不同的服务器上运行 XML 解析器、XSL 转换,甚至耗费资源的 session 对象。

编译代码

对服务器上 ASP.NET 页面的第一个请求是编译其 ASP.NET 代码,并在内存中保存一份缓存的备份。这样做的结果当然极大地提高了性能。

易于配置

通过纯文本文件就可完成对 ASP.NET 的配置。

配置文件可在应用程序运行时进行上传和修改。无需重起服务器。也没有 metabase 和注册方面的难题。

易于开发

不需要重起服务器来配置和替换已编译的代码。ASP.NET 会简单地把所有新的请求重定向到新的代码。

兼容性

ASP.NET 不完全兼容早期的 ASP 版本,所有大部分旧的 ASP 代码需要进行修改才能在 ASP.NET 下运行。

为了解决这个问题,ASP.NET 使用了一个新的文件后缀 ".aspx"。这样就使 ASP.NET 应用程序与 ASP 应用程序能够一起运行在同一个服务器上。