ASP.NET 1.x 与 ASP.NET 2.0 的比较






3.34/5 (31投票s)
2006年3月17日
6分钟阅读

149918
本文探讨了 ASP.NET 1.x 和 ASP.NET 2.0 之间的比较图表。
引言
本文探讨了 ASP.NET 1.x 和 ASP.NET 2.0 之间的比较图表。下表解释了 ASP.NET 1.X 和 ASP.NET 2.0 之间的一些差异。
ASP.NET 2003 |
ASP.NET 2005 | ||||||||||||
在 .NET 1.x 应用程序编译期间,Visual Studio 2003 会自动仅编译某些文件类型,例如 ASP.NET 页面、Web 服务、用户控件、HTTP 处理程序、资源文件和 Global.asax 类文件。其余文件需要显式编译,然后才能将代码发布到 Web 服务器。 |
在 Visual Studio 2005 中,您不再需要将所有文件编译到程序集中。ASP.NET 动态编译引擎允许自动编译应用程序,包括 .aspx、.cs、.vb 文件。这意味着,只需创建应用程序并发布即可。
新的代码分离模型将“按需编译”功能扩展到绑定到网页的类,但它不止于此;帮助类也可以利用它。您可以将帮助类和业务对象放在 App_Code 文件夹中。ASP.NET 会监视该文件夹并编译任何添加或编辑的新类文件。生成的程序集会自动在应用程序中引用,并在参与站点的所有页面之间共享。 您应该只将组件放入 App_Code 文件夹中。不要将页面、Web 用户控件或其他包含非代码元素的非代码文件放入 App_Code 子目录。App_Code 文件夹中的所有文件都动态编译成一个名为 code.dll 的程序集。该程序集具有应用程序范围,并在 Temporary ASP.NET Files 文件夹中创建,该文件夹位于 Web 应用程序空间之外。 | ||||||||||||
要修改应用程序,您需要打开整个项目,进行更改,然后需要再次重新编译才能将代码发布到 Web 服务器。 |
您只需打开要进行更改的单个文件,然后将代码发布到 Web 服务器,而无需重新编译。 | ||||||||||||
代码隐藏模型需要 IIS 虚拟目录。 |
代码隐藏模型可以直接访问本地安装的 IIS。 | ||||||||||||
代码隐藏模型缺乏对 FTP、本地文件系统和直接 IIS 访问的支持。 |
代码隐藏模型有多种打开网站的方式。 | ||||||||||||
它需要开发计算机上的 IIS。 |
它已经内置了 Web 服务器。 | ||||||||||||
无法在项目外部打开单个页面。 |
无需打开整个项目;您可以在项目外部打开单个页面,这是通过“按需编译”功能实现的。 | ||||||||||||
它需要显式将文件添加到项目中。 |
它消除了显式将文件添加到项目中的需要。 | ||||||||||||
ASP.NET 1.x 和 ASP.NET 2.0 的编译模型建立在完全不同的基础上。 |
新的类派生模型允许页面定义控件,而无需在继承的分离文件中创建受保护成员,也无需显式定义事件。 使用代码分离的页面利用了称为部分类的功能。当页面运行时,ASP.NET 2.0 动态创建并实例化表示页面的类,编译器使用
| ||||||||||||
|
ASP.NET 2.0 中的 属性
三个重要的新属性是
方法
一些重要的方法是
| ||||||||||||
在 ASP.NET 运行时中,页面的生命周期由一系列事件标记。在 ASP.NET 1.x 中,根据用户交互,页面请求被发送到 Web 服务器。由页面请求启动的事件是 |
ASP.NET 2.0 添加了相当多的新事件,让您可以更紧密、更精确地跟踪请求处理。下表讨论了这些新事件。 ASP.NET 2.0 中的新事件
开发人员可以通过将这些事件写入代码来动态修改页面输出和组成控件的状态。 |
有关 ASP.NET 中代码隐藏和编译的详细信息,请访问 MSDN。
结论
本文仅关注 ASP.NET 1.X 和 ASP.NET 2.0 之间的一些常见差异。一些概念,例如部分类,大大简化了选择遵循 ASP.NET 开发代码隐藏模型而无需使用 Visual Studio .NET 等 IDE 的开发人员的工作。其他功能,例如部署预编译,明显地转化为更好的性能和知识产权保护。总的来说,随着 ASP.NET 2.0 的推出,Microsoft 为开发人员提供了丰富的功能和极大的灵活性。