1.1 什么是ASP.NET

  ASP.NET是微软推出的ASP的下一代Web开发技术。ASP.NET顾名思义是基于.NET平台而存在的,在了解ASP.NET之前就需要了解.NET技术,了解.NET平台的相关技术才能够深入的了解ASP.NET是如何运作的。

1.1.1  .NET历史与展望

  .NET技术是微软近几年推出的主要技术,微软为.NET技术的推出可谓是不遗余力,在.NET平台下,微软有着极大的野心,.NET技术的发展历程如下所示。

q      20006月,微软公司总裁比尔.盖茨在“论坛2000的会议上向业内公布.NET平台并描绘了.NET的愿景。

q      20021月,微软发布.NET Framework 1.0版本,以及Visual Studio .NET 2002进行.NET Framework 1.0应用程序的辅助开发。

q      20034月,微软发布.NET Framework 1.1版本,以及针对.NET Framework 1.1版本的开发工具Visual Studio 2003.NET Framework 1.1版本较之于.NET Framework 1.0而言有重大的改进。

q      20046月,微软在TechEd Europe会议上发布.NET Framework 2.0 beta版本,以及Visual Studio 2005beta版本,在Visual Studio 2005beta版本中包含了多个精简版,以便不同的开发人员的需要。

q      20054月,微软发布Visual Studio 2005beta 2版本。

q      200511月,微软发布Visual Studio 2005的正式版和SQL Server 2005的正式版。

q      200611月,微软发布.NET Framework 3.0版本,在其中加入了一些新特性,以及语法特性,这些特性包括Windows Workflow FoundationWindows Communication FoundationWindows CardSpace Windows Presentation Foundation

q      200711月,微软发布.NET Framework 3.5版本,在其中加入了更多的新特性,包括LINQAJAX等,为下一代软件开发做出准备。

q      200811月,微软向业界发布.NET Framework 4.0社区测试版,以及Visual Studio 2010社区测试版,标识着.NET 4.0的到来。

  在.NET发展的8年时间中,.NET技术在不断的改进。虽然在2002年微软发布了.NET技术的第一个版本,但是由于系统维护和系统学习的原因,.NET技术当时并没有广泛的被开发人员和企业所接受。而自从.NET 2.0版本之后,越来越多的开发人员和企业已经能够接受.NET技术带来的革新。

 

  而随着计算机技术的发展,越来越高的要求和越来越多的需求让开发人员不断的进行新技术的学习,这里包括云计算和云存储等新概念。.NET平台同样为最新的概念和软件开发理念做出准备,这其中就包括3.0中出现并不断完善的Windows Workflow FoundationWindows Communication FoundationWindows CardSpace Windows Presentation Foundation等应用。

 

  在最新的操作系统Vista中,微软集成了.NET平台,使用.NET技术进行软件开发能够无缝的将软件部署在操作系统中,在进行软件的升级和维护中,基于.NET平台的软件也能够快速升级。微软的.NET野心不仅于此,微软的.NET平台还在为多核化、虚拟化、云计算做准备。随着时间的推移,.NET平台已经逐渐完善,学习.NET平台以及.NET技术对开发人员而言能够在未来的计算机应用中起到促进作用。

1.1.2  ASP.NETASP

  对于ASP.NET而言,开发人员不可避免的会将ASP.NETASP进行比较,因为ASP.NET可以算作是ASP的下一个版本。但是ASP.NET却与ASP完全不同,可以说微软重新将ASP进行编写和组织形成ASP.NET技术。

在传统的ASP开发中,开发人员可以在页面中进行ASP代码的编写,当服务器请求相应的页面时,服务器会解析ASP代码进行页面呈现。ASP具有轻巧等特点,但是随着互联网的发展,ASP也越来越多的呈现出其不足之处,这些不足之处包括ASP代码无法和HTML代码很好的分离,这就造成了页面代码混乱、维护性低等情况。当ASP中出现错误或者需要进行功能的添加,就需要多大部分的页面进行更改,这样就降低了ASP程序的复用性和维护性。

 

  而随着互联网的不断发展,基于Web的应用程序诞生,ASP已经不能满足日益增长的需求,于是诞生了ASP.NETASP.NET虽然同ASP都包含“ASP”这个词,但是ASP.NETASP完全是不同的编程模型,对于有ASP经验的人可以在页面中进行代码编写,而对于ASP.NET而言,ASP的经验基本上不适用于ASP.NET的开发。ASP.NET使用了软件开发的思想进行Web应用程序的编写,ASP.NET是面向对象的开发模型,使用ASP.NET能够提高代码的重用性,降低开发和维护的成本。

 

  而对于ASP而言,同样不能够满足日益增长的互联网需求,随着计算机科学与技术的发展,互联网和本地客户端的界限越来越模糊。一个Web应用程序可能是基于本地应用程序,而本地应用程序也可能基于服务器的服务进行开发的,这就对Web应用程序提出了更高的要求,相比之下,基于.NET平台的ASP.NET却能够适应和解决复杂的互联网需求。

 

  从历史发展的角度而言,不得不说ASP已经是过时的技术,但是并不代表ASP不会被使用,现在还有很多ASP应用程序,在小型的应用中,ASP依旧是低成本的最佳选择。

1.1.3  ASP.NET开发工具

  相对于ASP而言,ASP.NET具有更加完善的开发工具。在传统的ASP开发中,可以使用DreamwareFrontPage等工具进行页面开发。当时使用DreamwareFrontPage等工具进行ASP应用程序开发时,其效率并不能提升,并且这些工具对ASP应用程序的开发和运行也不会带来性能提升。

相比之下,对于ASP.NET应用程序而言,微软开发了Visual Studio开发环境提供给开发人员进行高效的开发,开发人员还能够使用现有的ASP.NET控件进行高效的应用程序开发,这些控件包括日历控件、分页控件、数据源控件和数据绑定控件。开发人员能够在Visual Studio开发环境中拖动相应的控件到页面中实现复杂的应用程序编写。

Visual Studio开发环境在人机交互的设计理念上更加完善,使用Visual Studio开发环境进行应用程序开发能够极大的提高开发效率,实现复杂的编程应用,如图1-1所示。

 

Visual Studio开发环境

1-1  Visual Studio开发环境

  Visual Studio开发环境为开发人员提供了诸多控件,使用这些控件能够实现在ASP中难以实现的复杂功能,极大的简化了开发人员的开发。如图1-1所示,在传统的ASP开发过程中需要实现日历控件是非常复杂和困难的,而在ASP.NET中,系统提供了日历控件用于日历的实现,开发人员只需要将日历控件拖动到页面中就能够实现日历效  果。

 

  使用Visual Studio开发环境进行ASP.NET应用程序开发还能够直接编译和运行ASP.NET应用程序。在使用DreamwareFrontPage等工具进行页面开发时需要安装IIS进行ASP.NET应用程序运行,而Visual Studio提供了虚拟的服务器环境,用户可以像C/C++应用程序编写一样在开发环境中进行应用程序的编译和运行。

1.1.4  ASP.NET客户端

  ASP.NET应用程序是基于Web的应用程序,所以用户可以使用浏览器作为ASP.NET应用程序的客户端进行ASP.NET应用程序的访问。浏览器已经是操作系统中必备的常用工具,包括IE 7IE 8FirefoxOpera等常用浏览器都可以支持ASP.NET应用程序的访问和使用。对于ASP.NET应用程序而言,由于其客户端为浏览器,所以ASP.NET应用程序的客户端部署成本低,可以在服务器端进行更新而无需进入客户端进行客户端的更新。

1.1.5  ASP.NET 3.5新增控件

  在ASP.NET 1.1初期,开发人员抱怨微软自带的ASP.NET控件过少,无法满足日益增长的应用程序开发,而到了ASP.NET 2.0版本中,微软增加了数十种服务器控件用于应用程序的开发。这些服务器控件不仅在一定程度上实现的复杂的功能,还提升了应用程序的可维护性、可扩展性,同时这些服务器控件也提高了ASP.NET应用程序的代码的复用性。

  在ASP.NET 3.5中,微软虽然没有像ASP.NET 1.1ASP.NET 2.0一样增加数十种服务器控件,但是微软增加了ListView控件和DataPager控件两个颇受欢迎的服务器控件。使用ListView控件和DataPager控件能够快速的进行页面数据的呈现和布局,同时还能轻松的实现分页和数据更新等操作。

1ListView控件

  ListView控件是ASP.NET 3.5中新增的数据绑定控件。ListView控件是介于GridView控件和Repeater之间的另一种数据绑定控件,相对于GridView来说,它有着更为丰富的布局手段,开发人员可以在ListView控件的模板内写任何HTML标记或者控件。

2DataPage控件

  DataPager控件通过实现.NET框架中IPageableItemContainer接口实现了控件的分页。在ASP.NET 3.5中,ListView控件可以使用DataPager控件进行分页操作。

 

  要在ListView中使用DataPager控件需要在ListViewLayoutTemplate模板中加入DataPager控件,DataPager控件包括两种样式,一种是“上一页/下一页”样式,第二种是“数字”样式,方便了开发人员实现不同的分页效果。同时,用户不仅能够使用微软为开发人员提供的服务器控件,Visual Studio 2008还能够让开发人员创建用户控件和自定义控件,以满足应用程序中越来越大的开发需求并提供了可扩展、可自定义控件。

1.1.6  ASP.NET 3.5 AJAX

  在Web应用程序的开发中,越来越多的网站能够实现用户操作的无刷新效果。网站页面的无刷新效果能够提高用户体验、提高网站应用的操作性并能够降低服务器与客户端之间的通信次数。在ASP.NET 3.5中,Visual Studio开发环境提供了AJAX应用环境,开发人员能够使用Visual Studio 2008进行AJAX应用程序和AJAX控件的创建,如图1-2所示。

新增的AJAX服务器控件创建应用

1-2  新增的AJAX服务器控件创建应用

  用户可以创建ASP.NET AJAX服务器控件和服务器扩展控件用于实现ASP.NET AJAX应用程序中所需要使用的自定义控件。在ASP.NET 3.5中,Visual Studio 2008还提供了默认的AJAX控件,这些控件包括脚本管理控件(ScriptManger)、脚本管理控件(ScriptMangerProxy)、时间控件(Timer)、更新区域控件(UpdatePanel)和更新进度控件(UpdateProgress)。使用AJAX控件能够同服务器控件一起使用从而实现服务器控件的无刷新。ASP.NET 3.5AJAX应用程序开发提供了原生环境,开发人员使用Visual Studio 2008和默认的服务器控件就能够轻松的实现AJAX效果。

加支付宝好友偷能量挖...


评论(0)网络
阅读(133)喜欢(0)Asp.Net/C#/WCF