ASP.NET2.0与VS2005利器大评析之优点篇

http://www.sina.com.cn 2006年11月21日 09:07  天极yesky

  作者:朱先忠编译

  ASP.NET 2.0与Visual Studio 2005正式上市至今已经有好几个月了。随着时间的一天天向前推移,如今越来越多的人能够使用到这一产品。本文作者基于对该产品的试用试图从个人角度来对这一产品的优点与不足作出评析,仅供参考。

  一、 引言

  说实在的,我对ASP.NET 2.0与Visual Studio 2005之间的关系有些喜欢也有些讨厌;但是,我最终还是决定把我的大多数内部应用程序迁移到2.0并且决不后悔。基本上,ASP.NET 2.0中存在太多的新的特征使我的生活变得更为轻松,并且从此以后再也不会返回到以前的1.1版本中编程了。

  到目前为止,这个平台一直工作良好。我已经发现了其中存在的许多改进能够大量地降低编码的复杂性和编码数量,在性能方面大约提高了10~20%,并且减少了内存需求量(这对于大型应用程序而言是十分重要的),但是对我的工作来说几乎没有太大的作用。

  把2.0特征加入到现有应用程序中绝对不是一夜之间的事情。但是,随着我逐渐地习惯快速地把大量的2.0特征加入到我的新式应用程序中,我的最后感觉是:如果再回到ASP.NET 1.1和VS 2003的话,那将是一个很大的后退。

  二、 优点评析

  下面,让我们来逐步剖析这个新产品中的主要变化,首先来看一下它的优点。

  (一) Visual Studio 2005基于文件的工程开发

  现在,在Visual Studio 2005中,你能够把一个目录作为一个web工程来打开,这是一种相当不错的改进。在我的开发机器上,我可能有50个不同的web工程。使用以前的VS2003,要把所有这些作为IIS中的虚拟目录加以配置和维护并且使工程实现正确地引用是令人相当头疼的事情。你不这样认为吗?你是否想把某些工程移动到一台新机器上?在VS2005中,你只需要简单地指向一个目录就可以打开工程。你完全可以使用本地的Web服务器构建方式来运行应用程序,这样以来就免除了配置Web服务器的需要。

  这个特征特别适合于共享示例的开发者—任何想检查一个示例web应用程序的开发人员都不必经受基于IIS进行配置的痛苦。现在,借助于基于文件的工程,你能够—至少在开发场所下—实现真正的“xCopy”工程。这个特征相当伟大,但是也不无缺点(一会儿后我们会详及)。

  【另注】我接触到的每一位都喜欢构建到Visual Studio内部的Cassini web服务器。当然,我也喜欢,因为它极大地简化了许多问题的处理。然而,有关它的使用也存在一些缺点。主要是在使用过程中应当避免Cassini与IIS之间的相互干扰。例如,Cassini能够把所有的请求传递给ASP.NET而忽略扩展内容。如果你拥有处理特定的文件类型的定制的处理器(例如,动态地构建Excel报告,等等),那么,你必须记住,当发布你的应用程序时,你要在IIS中为扩展内容建立定制的映射;否则的话,IIS不会把请求传递给ASP.NET。我接触过许多朋友在发布时花费大量的时间来解决他们的应用程序中的问题,因为他们在开发过程中从不担心Cassini中的配置设置问题。

  (二) 母版页面

  现在,你可以定义一个能够在你的应用程序中重用的母版(Master)页模板。使用这个功能能够节约你大量的开发时间。事实上,在2.0版本出现以前,已经存在基于ASP.NET 1.x版本的这种概念,但是对于我来说,吸引我的最关键的特征在于,Visual Studio提供了对它的可视化支持。这可以使你看到母版的布局,其中ContentPlaceholders可以应用于每一个页面中以提供页面级内容。

  除了设计器提供的重要的可视化方面外,母版页模板还提供了一种良好的方式来把彼此相关的可重用的代码联系到一起。母版页面的目的是,把以前需要使用若干用户控件(例如,Header,Footer和Sidebar)才能实现的功能融合到一起,从而使它们能够比以前更为有效地实现逻辑分离。

  【另注】你还能够在运行时刻动态地改变母版页面,从而实现更大的灵活性。这一支持使用户能够改变一个应用程序的整体外观感觉;而且这种效果是仅凭借切换层叠式样表所无法实现的。

  (三) 用户控件可视化描述

  说实在的,我非常希望自己在设计时就能看到整个页面的样子。就象母版页面一样,现在,Visual Studio 2005能够在Web表单编辑器内显示一个生成的用户控件。不再象是以前的老式的、非描述性的灰色的方框加上一个控件名,现在,你能够在设计器内得到一个全面生成的恰当到位的控件。双击它,则VS就能把你导航到用户控件设计器。在我的开发中,我一般不会大量地使用用户控件,而是使用母版页面来替换我的许多现有的控件,但是我发现这种用户控件可视化描述使设计模式更为有用了。对于我的现有1.1版本的应用程序来说,尤其如此—我的这些程序中通常仍然使用这样的控件来表达页面的页眉,侧栏和页脚。

  【另注】完全自动地生成用户控件极大地节约了开发时间。当然,我还需要花费不少的时间从IDE到一个浏览器来回切换以观察用户控件最终生成的样子。仅此而已。

上一页 1 2 下一页
本文导航:
·优点评析
·支持嵌入式资源

发表评论 _COUNT_条
Powered By Google
不支持Flash
·城市对话改革30年 ·新浪城市同心联动 ·诚招合作伙伴 ·企业邮箱畅通无阻
不支持Flash