第1章 ASP.NET 3.5与开发工具
从本章开始,读者将能够系统的学习ASP.NET 3.5技术,相对于ASP.NET 2.0而言,在3.5版本的ASP.NET中并没有太多的变化,而更多的变化则在于C#编程语言中。而作为微软主推的编程语言,ASP.NET 3.5能够使用C#的最新特性进行高效的开发,本章从基础讲解什么是ASP.NET,以及开发工具的使用。
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 2000年6月,微软公司总裁比尔.盖茨在“论坛2000”的会议上向业内公布.NET平台并描绘了.NET的愿景。
q 2002年1月,微软发布.NET Framework 1.0版本,以及Visual Studio .NET 2002进行.NET Framework 1.0应用程序的辅助开发。
q 2003年4月,微软发布.NET Framework 1.1版本,以及针对.NET Framework 1.1版本的开发工具Visual Studio 2003,.NET Framework 1.1版本较之于.NET Framework 1.0而言有重大的改进。
q 2004年6月,微软在TechEd Europe会议上发布.NET Framework 2.0 beta版本,以及Visual Studio 2005的beta版本,在Visual Studio 2005的beta版本中包含了多个精简版,以便不同的开发人员的需要。
q 2005年4月,微软发布Visual Studio 2005的beta 2版本。
q 2005年11月,微软发布Visual Studio 2005的正式版和SQL Server 2005的正式版。
q 2006年11月,微软发布.NET Framework 3.0版本,在其中加入了一些新特性,以及语法特性,这些特性包括WindowsWorkflow Foundation、Windows Communication Foundation、Windows CardSpace 和 Windows Presentation Foundation。
q 2007年11月,微软发布.NET Framework 3.5版本,在其中加入了更多的新特性,包括LINQ,AJAX等,为下一代软件开发做出准备。
q 2008年11月,微软向业界发布.NET Framework 4.0社区测试版,以及Visual Studio 2010社区测试版,标识着.NET 4.0的到来。
在.NET发展的8年时间中,.NET技术在不断的改进。虽然在2002年微软发布了.NET技术的第一个版本,但是由于系统维护和系统学习的原因,.NET技术当时并没有广泛的被开发人员和企业所接受。而自从.NET 2.0版本之后,越来越多的开发人员和企业已经能够接受.NET技术带来的革新。
而随着计算机技术的发展,越来越高的要求和越来越多的需求让开发人员不断的进行新技术的学习,这里包括云计算和云存储等新概念。.NET平台同样为最新的概念和软件开发理念做出准备,这其中就包括3.0中出现并不断完善的WindowsWorkflow Foundation、Windows Communication Foundation、Windows CardSpace 和 Windows Presentation Foundation等应用。
在最新的操作系统Vista中,微软集成了.NET平台,使用.NET技术进行软件开发能够无缝的将软件部署在操作系统中,在进行软件的升级和维护中,基于.NET平台的软件也能够快速升级。微软的.NET野心不仅于此,微软的.NET平台还在为多核化、虚拟化、云计算做准备。随着时间的推移,.NET平台已经逐渐完善,学习.NET平台以及.NET技术对开发人员而言能够在未来的计算机应用中起到促进作用。
1.1.2 ASP.NET与ASP
对于ASP.NET而言,开发人员不可避免的会将ASP.NET与ASP进行比较,因为ASP.NET可以算作是ASP的下一个版本。但是ASP.NET却与ASP完全不同,可以说微软重新将ASP进行编写和组织形成ASP.NET技术。
在传统的ASP开发中,开发人员可以在页面中进行ASP代码的编写,当服务器请求相应的页面时,服务器会解析ASP代码进行页面呈现。ASP具有轻巧等特点,但是随着互联网的发展,ASP也越来越多的呈现出其不足之处,这些不足之处包括ASP代码无法和HTML代码很好的分离,这就造成了页面代码混乱、维护性低等情况。当ASP中出现错误或者需要进行功能的添加,就需要多大部分的页面进行更改,这样就降低了ASP程序的复用性和维护性。
而随着互联网的不断发展,基于Web的应用程序诞生,ASP已经不能满足日益增长的需求,于是诞生了ASP.NET。ASP.NET虽然同ASP都包含“ASP”这个词,但是ASP.NET与ASP完全是不同的编程模型,对于有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开发中,可以使用Dreamware、FrontPage等工具进行页面开发。当时使用Dreamware、FrontPage等工具进行ASP应用程序开发时,其效率并不能提升,并且这些工具对ASP应用程序的开发和运行也不会带来性能提升。
相比之下,对于ASP.NET应用程序而言,微软开发了Visual Studio开发环境提供给开发人员进行高效的开发,开发人员还能够使用现有的ASP.NET控件进行高效的应用程序开发,这些控件包括日历控件、分页控件、数据源控件和数据绑定控件。开发人员能够在Visual Studio开发环境中拖动相应的控件到页面中实现复杂的应用程序编写。
Visual Studio开发环境在人机交互的设计理念上更加完善,使用Visual Studio开发环境进行应用程序开发能够极大的提高开发效率,实现复杂的编程应用,如图1-1所示。
图1-1 Visual Studio开发环境
Visual Studio开发环境为开发人员提供了诸多控件,使用这些控件能够实现在ASP中难以实现的复杂功能,极大的简化了开发人员的开发。如图1-1所示,在传统的ASP开发过程中需要实现日历控件是非常复杂和困难的,而在ASP.NET中,系统提供了日历控件用于日历的实现,开发人员只需要将日历控件拖动到页面中就能够实现日历效果。
使用VisualStudio开发环境进行ASP.NET应用程序开发还能够直接编译和运行ASP.NET应用程序。在使用Dreamware、FrontPage等工具进行页面开发时需要安装IIS进行ASP.NET应用程序运行,而Visual Studio提供了虚拟的服务器环境,用户可以像C/C++应用程序编写一样在开发环境中进行应用程序的编译和运行。
1.1.4 ASP.NET客户端
ASP.NET应用程序是基于Web的应用程序,所以用户可以使用浏览器作为ASP.NET应用程序的客户端进行ASP.NET应用程序的访问。浏览器已经是操作系统中必备的常用工具,包括IE 7、IE 8、Firefox、Opera等常用浏览器都可以支持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.1到ASP.NET 2.0一样增加数十种服务器控件,但是微软增加了ListView控件和DataPager控件两个颇受欢迎的服务器控件。使用ListView控件和DataPager控件能够快速的进行页面数据的呈现和布局,同时还能轻松的实现分页和数据更新等操作。
1.ListView控件
ListView控件是ASP.NET 3.5中新增的数据绑定控件。ListView控件是介于GridView控件和Repeater之间的另一种数据绑定控件,相对于GridView来说,它有着更为丰富的布局手段,开发人员可以在ListView控件的模板内写任何HTML标记或者控件。
2.DataPage控件
DataPager控件通过实现.NET框架中IPageableItemContainer接口实现了控件的分页。在ASP.NET 3.5中,ListView控件可以使用DataPager控件进行分页操作。
要在ListView中使用DataPager控件需要在ListView的LayoutTemplate模板中加入DataPager控件,DataPager控件包括两种样式,一种是“上一页/下一页”样式,第二种是“数字”样式,方便了开发人员实现不同的分页效果。同时,用户不仅能够使用微软为开发人员提供的服务器控件,Visual Studio 2008还能够让开发人员创建用户控件和自定义控件,以满足应用程序中越来越大的开发需求并提供了可扩展、可自定义控件。
1.1.6 ASP.NET 3.5 AJAX
在Web应用程序的开发中,越来越多的网站能够实现用户操作的无刷新效果。网站页面的无刷新效果能够提高用户体验、提高网站应用的操作性并能够降低服务器与客户端之间的通信次数。在ASP.NET 3.5中,Visual Studio开发环境提供了AJAX应用环境,开发人员能够使用VisualStudio 2008进行AJAX应用程序和AJAX控件的创建,如图1-2所示。
图1-2 新增的AJAX服务器控件创建应用
用户可以创建ASP.NETAJAX服务器控件和服务器扩展控件用于实现ASP.NET AJAX应用程序中所需要使用的自定义控件。在ASP.NET 3.5中,Visual Studio 2008还提供了默认的AJAX控件,这些控件包括脚本管理控件(ScriptManger)、脚本管理控件(ScriptMangerProxy)、时间控件(Timer)、更新区域控件(UpdatePanel)和更新进度控件(UpdateProgress)。使用AJAX控件能够同服务器控件一起使用从而实现服务器控件的无刷新。ASP.NET3.5为AJAX应用程序开发提供了原生环境,开发人员使用Visual Studio2008和默认的服务器控件就能够轻松的实现AJAX效果。
1.2 .NET应用程序需框架
无论是ASP.NET应用程序还是ASP.NET应用程序中所提供的控件,甚至是ASP.NET支持的原生的AJAX应用程序都不能离开.NET应用程序框架的支持。.NET应用程序框架作为ASP.NET以及其应用程序的基础而存在,若需要使用ASP.NET应用程序则必须使用.NET应用程序框架。
1.2.1 什么是.NET应用程序框架
.NET框架是一个多语言组件开发和执行环境,无论开发人员使用的是C#作为编程语言还是使用VB.NET作为其开发语言都能够基于.NET应用程序框架而运行。.NET应用程序框架主要包括三个部分,这三个部分分别为公共语言运行时、统一的编程类和活动服务器页面。
1.公共语言运行时
公共语言运行时在组件的开发及运行过程中扮演着非常重要的角色。在经历了传统的面向过程开发,开发人员寻找更多的高效的方法进行应用程序开发,这其中的发展成为了面向对象的应用程序开发,在面向对象程序开发的过程中,衍生了组件开发。
在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。在多层开发和组件开发应用中,运行时负责管理组件与组件之间的功能的需求。
2.统一的编程类
.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C++开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual Basic API集,在应用程序开发中,很难将应用程序进行平台的移植,当出现了不同版本的Windows时,就会造成移植困难。
注意:虽然Windows包括不同的版本,而这些版本的基本类库相同,但是不同版本的Windows同样会有不同的API,例如Windows 9x系列和Windows NT系列。
而.NET框架就统一了微软当前的各种不同类型的框架,.NET应用程序框架是一个系统级的框架,对现有的框架进行了封装,开发人员无需进行复杂的框架学习就能够轻松使用.NET应用程序框架进行应用程序开发。无论是使用C#编程语言还是VisualBasic编程语言都能够进行应用程序开发,不同的编程语言所调用的框架API都是来自.NET应用程序框架,所以这些应用程序之间就不存在框架差异的问题,在不同版本的Windows中也能够方便移植。
注意:.NET框架能够安装到各个版本的Windows中,当有多个版本的Windows时,只需安装了.NET框架,任何.NET应用程序就能够在不同的Windows中运行而不需要额外的移植。
3.活动服务器页面
.NET框架还为Web开发人员提供了基础保障,ASP.NET是使用.NET应用程序框架提供的编程类库构建而成的,它提供了Web应用程序模型,该模型由一组控件和一个基本结构组成,使用该模型让ASP.NETWeb开发变得非常的容易。开发人员可以将特定的功能封装到控件中,然后通过控件的拖动进行应用程序的开发,这样不仅提高了应用程序开发的简便性,还极大的精简了应用程序代码,让代码具更有复用性。
.NET应用程序框架不仅能够安装到多个版本的Windows中,还能够安装其他智能设备中,这些设备包括智能手机、GPS导航以及其他家用电器中。.NET框架提供了精简版的应用程序框架,使用.NET应用程序框架能够开发容易移植到手机、导航器以及家用电器中的应用程序。VisualStudio 2008还提供了智能电话应用程序开发的控件,实现了多应用、单平台的特点。
开发人员在使用VisualStudio 2008和.NET应用程序框架进行应用程序开发时,会发现无论是在原理上还是在控件的使用上,很多都是相通的,这样极大的简化了开发人员的学习过程,无论是Windows应用程序、Web应用程序还是手机应用程序,都能够使用.NET框架进行开发。
1.2.2 公共语言运行时(CLR)
在前面的小结中可以看出,无论开发人员使用何种编程语言(如C#或Visual Basic)都能够使用.NET应用程序框架进行应用程序的开发。那么何种原因使得开发人员使用任何.NET应用程序框架的支持的语言都能够使用.NET应用程序框架并实现相应的应用程序功能,这就要了解.NET中的公共语言运行库(CLR)。
公共语言运行时(CommonLanguage Runtime,CLR)为托管代码提供各种服务,如跨语言集成、代码访问安全性、对象生存期管理、调试和分析支持。CLR和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。同时,为了提高.NET平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性和安全性级别,CLR还要负责其他一些任务。
在公共语言运行时中运行的程序被称为托管程序。顾名思义,托管程序就是被公共语言运行时所托管的应用程序,公共语言运行时会监视应用程序的运行并在一定程度上监视应用程序的运行。当开发人员进行应用程序开发和运行时,例如出现了数组越界等错误都会被公共语言运行库所监控和捕获。
当开发人员进行应用程序的编写时,编写完成的应用程序将会被翻译成一种中间语言,中间语言在公共语言运行时中被监控并被解释成为计算机语言,解释后的计算机语言能够被计算机所理解并执行相应的程序操作。在程序开发中,使用的编程语言如果在CLR监控下就被称为托管语言,而语言的执行不需要CLR的监控就不是托管语言,被称为非托管语言。在托管语言在解释时的效率没有非托管语言迅速,因为托管的语言首先需要被解释成计算机语言,这也造成了性能问题。
虽然如此,但是CLR所带来的性能问题越来越不足以成为问题,因为随着计算机硬件的发展,当代计算机已经能够适应和解决托管程序所带来的效率问题。
1.2.3 .NET Framework 类库
.NET Framework是支持生成和运行下一代应用程序和XML Web services的内部Windows 组件。.NET Framework 类库包含了.NET应用程序开发中所需要的类和方法,开发人员可以使用.NETFramework 类库提供的类和方法进行应用程序的开发。
.NET Framework 类库中的类和方法将Windows底层的API进行封装和重新设计,开发人员能够使用.NET Framework 类库提供的类和方法方便的进行Windows应用程序开发,.NET Framework 还意图实现一个通用的编程环境。.NET Framework想要实现的功能如下所示。
q 提供一个一致的面向对象的编程环境,无论这个代码是在本地执行还是在远程执行。
q 提供一个将软件部署和版本控制冲突最小化的代码执行环境以便于应用程序的部署和升级。
q 提供一个可提高代码执行安全性的代码执行环境,就算软件是来自第三方不可信任的开发商也能够提供可信赖的开发环境。
q 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境,.NETFramework将应用程序甚至是Web应用相关类编译成DLL文件。
q 使开发人员的经验在面对类型大不相同的应用程序时保持应用程序和数据的一致性,特别是使用面向服务开发和敏捷开发。
q 提供一个可以确保基于.NET Framework 的代码可与任何其他代码开发、集成、移植的可靠环境。
.NET Framework类库用于实现基于.NET Framework的应用程序所需要的功能,例如实现音乐的播放和多线程开发等技术都可以使用.NETFramework现有的类库进行开发。.NETFramework类库相比MFC具有较好的命名方法,开发人员能够轻易阅读和使用.NETFramework类库提供的类和方法。
无论是基于何种平台或设备的应用程序都可以使用.NET Framework类库提供的类和方法。无论是基于Windows的应用程序和基于Web的ASP.NET应用程序还是移动应用程序,都可以使用现有的.NET Framework中的类和方法进行开发。在开发过程中,.NET Framework类库中对不同的设备和平台提供类和方法基本相同,开发人员不需要进行重复学习就能够进行不同设备的应用程序的开发。
1.3 安装Visual Studio 2008
使用.NET框架进行应用程序开发的最好的工具莫过于Visual Studio2008,Visual Studio系列产品被认为是世界上最好的开发环境之一。使用Visual Studio2008能够快速构建ASP.NET应用程序并为ASP.NET应用程序提供所需要的类库、控件和智能提示等支持,本节会介绍如何安装VisualStudio 2008并介绍VisualStudio 2008中的窗口的使用和操作方法。
1.3.1 安装VisualStudio 2008
在安装VisualStudio 2008之前,首先确保IE浏览器版本在6.0或更高,同时,可安装Visual Studio 2008开发环境的计算机配置要求如下所示。
q 支持的操作系统:Windows Server 2003; WindowsVista; Windows XP。
q 最低配置:1.6 GHz CPU,384 MB 内存,1024x768 显示分辨率,5400 RPM 硬盘。
q 建议配置:2.2 GHz 或更快的 CPU,1024 MB 或更大的内存,1280x1024 显示分辨率,7200 RPM 或更快的硬盘。
q 在 Windows Vista上运行的配置要求:2.4 GHz CPU,768 MB 内存。
Visual Studio 2008在硬件方面对计算机的配置要求如下所示。
q CPU:600MHzPentium处理器或AMD处理器或更高配置的CPU。
q 内存:至少需要128m内存,推荐256m或更高。
q 硬盘:要求至少有5G空间进行应用程序的安装,推荐10G或更高。
q 显示器:推荐使用800*600分辨率或更高。
当开发计算机满足以上条件后就能够安装Visual Studio 2008,安装Visual Studio 2008的过程非常简单。
(1)单击Visual Studio 2008的光盘或MSDN版的Visual Studio 2008(90天试用版)中的setup.exe安装程序进入安装程序,如图1-3所示。
(2)进入Visual Studio 2008界面后,用户可以选择进行Visual Studio 2008的安装,单击【安装Visual Studio 2008】按钮进行Visual Studio 2008的安装,如图1-4所示。
图1-3 Visual Studio 2008安装界面 图1-4 加载安装组件
在进行VisualStudio 2008的安装前,VisualStudio 2008安装程序首先会加载安装组件,这些组件为Visual Studio 2008的顺利安装提供了基础保障,安装程序在完成组件的加载前用户不能够进行安装步骤的选择。
(3)在安装组件加载完毕后,用户可以单击【下一步】按钮进行VisualStudio 2008的安装,用户将进行VisualStudio 2008的安装路径的选择,如图1-5所示。
当用户选择安装路径后就能够进行Visual Studio 2008的安装。用户在选择路径前,可以选择相应的安装功能,用户可以选择“默认值”、“完全”和“自定义”。选择“默认值”将会安装Visual Studio 2008提供的默认组件,选择“完全”将安装Visual Studio 2008的所有组件,而如果用户只需要安装几个组件,可以选择自定义进行组件的选择安装。
(4)选择后,单击【安装】按钮就能够进行Visual Studio 2008的安装,如图1-6所示。
图1-5 选择Visual Studio 2008安装路径 图1-6 Visual Studio 2008的安装
等待图1-6中的安装界面中左侧的安装列表的进度,当安装完毕后就会出现安装成功界面,说明已经在本地计算机中成功的安装了Visual Studio 2008。
1.3.2 主窗口
在安装完成VisualStudio 2008后就能够进行.NET应用程序的开发,Visual Studio 2008极大的提高了开发人员对.NET应用程序的开发效率,为了能够快速的进行.NET应用程序的开发,就需要熟悉Visual Studio 2008开发环境。当启动Visual Studio 2008后,就会呈现Visual Studio 2008主窗口,如图1-7所示。
图1-7 Visual Studio 2008主界面
在图1-7中所示,Visual Studio 2008主窗口包括其他多个窗口,最左侧的是工具箱,用于服务器控件的存放;中间是文档窗口,用于应用程序代码的编写和样式控制;中下方是错误列表窗口,用于呈现错误信息;右侧是资源管理器窗口和属性窗口,用于呈现解决方案,以及页面及控件的相应的属性。
1.3.3 文档窗口
文档窗口用于代码的编写和样式控制。当用户开发的是基于Web的ASP.NET应用程序时,文档窗口是以Web的形式呈现给用户,而代码视图则是以HTML代码的形式呈现给用户的,而如果用户开发的是基于Windows的应用程序,则文档窗口将会呈现应用程序的窗口或代码,如图1-8、1-9所示。
图1-8 Windows程序开发文档窗口 图1-9 Web程序开发文档窗口
当开发人员进行不同的应用程序开发时,文档窗口也会呈现为不同的样式以便开发人员进行应用程序开发。在ASP.NET应用程序中,其文档窗口包括三个部分,如图1-10所示。
图1-10 文档主窗口
正如图1-10所示,主文档窗口包括三个部分,开发人员可以通过使用这三个部分进行高效开发,这三个部分的功能如下所示。
q 页面标签:当进行多个页面进行开发时,会呈现多个页面标签,当开发人员需要进行不同页面的交替时可以通过页面标签进行页面替换。
q 视图栏:用户可以通过视图栏进行视图的切换,Visual Studio2008提供“设计”,“拆分”和“源代码”三种视图,开发人员可以选择不同的视图进行页面样式控制和代码的开发。
q 标签导航栏:标签导航栏能够进行不同的标签的选择,当用户需要选择页面代码中的<body>标签时,可以通过标签导航栏进行标签或标签内内容的选择。
开发人员可以灵活运用主文档窗口进行高效的应用程序开发,相比Visual Studio 2005而言,Visual Studio 2008的视图栏窗口提供了拆分窗口,拆分窗口允许开发人员一边进行页面样式开发和代码编写。
注意:虽然Visual Studio 2008为开发人员提供了拆分窗口,但是只有在编写Web应用中文档主窗口才能够呈现拆分窗口。
1.3.4 工具箱
Visual Studio 2008主窗口的左侧为开发人员提供了工具箱,工具箱中包含了VisualStudio 2008对.NET应用程序所支持的控件。对于不同的应用程序开发而言,在工具箱中所呈现的工具也不同。工具箱是Visual Studio 2008中的基本窗口,开发人员可以使用工具箱中的控件进行应用程序开发,如图1-11和图1-12所示。
图1-11 工具箱 图1-12 选择类别
正如图1-11中所示,系统默认为开发人员提供了数十种服务器控件用于系统的开发,用户也可以添加工具箱选项卡进行自定义组件的存放。Visual Studio 2008为开发人员提供了不同类别的服务器控件,这些控件被归为不同的类别,开发人员可以按照需求进行相应类别的控件的使用。开发人员还能够在工具箱中添加现有的控件。右击工具箱空白区域,在下拉菜单中选择【选择项】选项,系统会弹出窗口用于开发人员对自定义控件的添加,如图1-13所示。
图1-13 添加自定义组件
组件添加完毕后就能够在工具箱中显式,开发人员能够将自定义组件拖放在主窗口中进行应用程序中相应的功能的开发而无需通过复杂编程实现。
注意:开发人员能够在互联网上下载其他人已经开发好的自定义组件进行.NET应用程序开发,这样就无需通过编程实现重复的功能。
1.3.5 解决方案管理器
在Visual Studio2008的开发中,为了能够方便开发人员进行应用程序开发,在Visual Studio 2008主窗口的右侧会呈现一个解决方案管理器。开发人员能够在解决方案管理器中进行相应的文件的选择,双击后相应文件的代码就会呈现在主窗口,开发人员还能够单击解决方案管理器下方的服务器资源管理器窗口进行服务器资源的管理,服务器资源管理器还允许开发人员在Visual Studio 2008中进行表的创建和修改。如图1-14、1-15所示。
图1-14 解决方案管理器 图1-15 服务器资源管理器
解决方案管理器就是对解决方案进行管理,解决方案可以想象成是一个软件开发的整体方案,这个方案包括程序的管理、类库的管理和组件的管理。开发人员可以在解决方案管理器中双击文件进行相应的文件的编码工作,在解决方案管理器中也能够进行项目的添加和删除等操作,如图1-16所示。
图1-16 解决方案管理器
在应用程序开发中,通常需要进行不同的组件的开发,例如我开发用户界面,而我的一个同事进行后台开发,在开发中,如果将不同的模块分开开发或打开多个Visual Studio 2008进行开发是非常不方便的。解决方案管理器就能够解决这个问题。将一个项目看成是一个“解决方案”,不同的项目之间都在一个解决方案中进行互相的协调和相互的调用。
注意:Visual Studio 2008可能在默认情况下不会呈现解决方案管理器中的“解决方案‘1-1’这个标题”,开发人员可以在“工具”菜单栏的“选项”中的项目和解决方案中选择“总是显式解决方案”,如果没有项目和解决方案,则需要点击“显式所有设置”。
1.3.6 属性窗口
Visual Studio 2008提供了非常多的控件,开发人员能够使用Visual Studio 2008提供的控件进行应用程序的开发。每个服务器控件都有自己的属性,通过配置不同的服务器控件的属性可以实现复杂的功能。服务器控件属性如图1-17、1-18所示。
图1-17 控件的样式属性 图1-18 控件的数据属性
控件的属性配置中,可以为控件进行样式属性的配置,包括配置字体的大小、字体的颜色、字体的粗细、CSS类等相关的控件所需要使用的样式属性,有些控件还需要进行数据属性的配置。这里使用了GirdView控件进行数据呈现并将PageSize属性(分页属性)设置为30,则如果数据条目数大于30则该控件会自动按照30条目进行分页,免除了复杂的分页编程。
1.3.7 错误列表窗口
在应用程序的开发中,通常会遇到错误,这些错误会在错误列表窗口中呈现,开发人员可以单击相应的错误进行错误的跳转。如果应用程序中出现编程错误或异常,系统会在错误列表窗口呈现,如图1-19所示。
图1-19 错误列表窗口
相对于传统的ASP应用程序编程而言,ASP应用程序出现错误并不能良好的将异常反馈给开发人员。这在一方面是由于开发环境的原因,因为Dreamware等开发环境并不能原生的支持ASP应用程序的开发,另一方面也是由于ASP本身是解释型编程语言而无法进行良好的异常反馈。
对于ASP.NET应用程序而言,在应用程序运行前Visual Studio 2008会编译现有的应用程序并进行程序中错误的判断。如果ASP.NET应用程序出现错误,则Visual Studio 2008不会让应用程序运行起来,只有修正了所有的错误后才能够运行。
注意:Visual Studio 2008的错误处理并不能将应用程序中的逻辑错误检测出来,例如1除以0的错误是不会被检测出来,错误处理通常情况下处理的是语法错误而不是逻辑错误。
在错误列表窗口中包含错误、警告和消息选项卡,这些选项卡中的错误的安全级别不尽相同。对于错误选项卡中的错误信息,通常是语法上的错误,如果存在语法上的错误则不允许应用程序的运行,而对于警告和消息选项卡中信息安全级别较低,只是作为警告而存在,通常情况下不会危害应用程序的运行和使用。警告选项卡如图1-20所示。
图1-20 警告选项卡
在应用程序中如果出现了变量未使用或者在页面布局中出现了布局错误,都可能会在警告选项卡中出现警告信息。双击相应的警告信息会跳转到应用程序中相应的位置,方便开发人员对于错误的检查。
注意:虽然警告信息不会造成应用程序运行错误,但是可能存在潜在的风险,推荐开发人员修正所有的错误和警告中出现的错误信息。
1.4 安装SQL Server 2005
Visual Studio 2008和SQL Server 2005都是微软为开发人员提供的开发工具和数据库工具,所以微软将VisualStudio 2008和SQL Server2005紧密的集成在一起,使用微软的SQLServer进行.NET应用程序数据开发能够提高.NET应用程序的数据存储效率。
(1)打开SQL Server 2005安装盘,单击SPLASH.HTA文件进行安装,安装界面如图1-21所示。
(2)进入SQL Server 2005安装界面后就能够选择相应的平台选择,开发人员可以为相应的开发平台选择安装环境,如图1-22所示。
图1-21 SQL Server 2005 安装界面 图1-22 选择安装平台
(3)开发人员可以选择相应的平台进行安装,现在大部分的操作系统都是基于X86平台进行应用,而X64平台虽然少,但是却有长足的发展前景。选择相应的开发平台后就能够进行进入安装选择界面,如图1-23所示。
在安装选择界面中开发人员可以进行安装准备,安装准备包括检查硬件和软件要求、阅读发行说明和安装SQL Server升级说明。在安装准备界面中的准备选项中开发人员可以检查自己所在的系统能否进行SQL Server 2005的安装,以及安装SQL Server 2005所需要遵守的协议。
(4)在安装选择界面中需要选择【安装】连接可以进行SQL Server2005应用程序的安装,可以选择【服务器组件、工具、联机丛书和示例】连接进行SQL Server 2005组件和应用程序的安装。单击【服务器组件、工具、联机丛书和示例】连接后如图1-24所示。
图1-23 安装选择界面 图1-24所示 检查安装组件
(5)在安装SQL Server 2005之前首先需要安装SQL Server 2005所必备的组件,这些组件包括.NET Framework 2.0语言包,以及相应SQL Server 2005客户端组件,安装完成后就能够正式进入安装步骤,如图1-25所示。
SQL Server 2005会进行应用程序的检查,检查包括系统的最低配置、IIS功能要求、挂起的重新启动要求、ASP.NET版本注册要求等等,这些要求系统会自行检查,如果SQL Server2005安装程序提示安装成功则能够进行SQL Server 2005进一步的安装。
(6)单击【下一步】按钮进行系统组件的安装,如图1-26所示。
图1-25 系统配置检查 图1-26 选择安装组件
(7)选择相应的组件后单击【下一步】按钮就可以进行实例的选择,对于普通用户而言可以选择【默认实例】复选框进行SQL Server 2005的安装,如图1-27所示。
图1-27 选择实例名称
(8)在选择了【默认实例】复选框后就需要进行服务账户的配置,如果用户需要使用域用户账户可以选择【使用域用户账户】选项进行域配置,否则可以选择使用内置用户账户进行SQL Server 2005的安装并进行密码配置,如图1-28和图1-29所示。
图1-28 选择服务账户 图1-29 身份验证模式
(9)单击【下一步】按钮进行身份验证模式选择,开发人员可以选择“Windows身份验证模式”和“混合模式”,为了数据库服务器的安全,推荐使用“混合模式”进行身份验证。
注意:在有些操作系统上,例如Windows Server 2003和WindowsServer 2008操作系统,可能需要强密码进行SQL Server 2005的安装。
(10)在选择了身份验证模式后单击【下一步】按钮进行错误信息的配置和字符的配置,普通用户可以直接单击【下一步】按钮进行默认配置直至安装程序安装完毕。
1.5 ASP.NET应用程序基础
使用VisualStudio 2008和SQL Server2005能够快速的进行应用程序的开发,同时使用Visual Studio 2008和SQL Server 2005能够创建负载高的ASP.NET应用程序。通常情况下,Visual Studio 2008负责ASP.NET应用程序的开发,而SQL Server 2005负责应用的数据存储。
1.5.1 创建ASP.NET应用程序
使用VisualStudio 2008能够进行ASP.NET应用程序的开发,微软提供了数十种服务器控件能够快速的进行应用程序开发。
(1)打开Visual Studio 2008应用程序后如图1-30所示。
(2)打开Visual Studio 2008初始界面后,可以单击菜单栏上的【文件】按钮,选择【新建项目】按钮创建ASP.NET应用程序,如图1-31所示。
图1-30 Visual Studio 2008初始界面 图1-31 创建ASP.NET Web应用程序
(3)选择【ASP.NET Web应用程序】选项,单击确定就能够创建一个最基本的ASP.NET Web应用程序。创建完成后系统会创建default.aspx、default.aspx.cs、default.aspx.designer.cs、以及Web.config等文件用于应用程序的开发。
1.5.2 运行ASP.NET应用程序
创建ASP.NET应用程序后就能够进行ASP.NET应用程序的开发,开发人员可以在【资源管理器】中添加相应的文件和项目进行ASP.NET应用程序和组件开发。Visual Studio 2008提供了数十种服务器控件以便开发人员进行应用程序的开发。
在完成应用程序的开发后,可以运行应用程序,单击【调试】按钮或选择【启动调试】按钮就能够调试ASP.NET应用程序。调试应用程序的快捷键为【F5】,开发人员也可以单击【F5】进行应用程序的调试,调试前Visual Studio 2008会选择是否启用Web.config进行调试,默认选择使用即可,如图1-32所示。
选择“修改Web.config文件以启动调试”进行应用程序的运行。在Visual Studio2008中包含虚拟服务器,所以开发人员可以无需安装IIS进行应用程序的调试。但是一旦进入调试状态,就无法在Visual Studio 2008中进行cs页面,以及类库等源代码的修改,如图1-33所示。
图1-32 启用调试配置 图1-33 运行ASP.NET应用程序
注意:虽然Visual Studio 2008提供虚拟服务器,开发人员可以无需安装IIS进行应用程序调试,但是为了完好模拟ASP.NET网站应用程序,建议在发布网站前使用IIS进行调试。
1.5.3 编译ASP.NET应用程序
与传统的ASP应用程序开发不同的是,ASP.NET应用程序能够将相应的代码编译成DLL(动态链接库)文件,这样不仅能够提高ASP.NET应用程序的安全性,还能够提高ASP.NET应用程序的速度。在现有的项目中,打开相应的项目文件,其项目源代码都可以进行读取,如图1-34所示。
开发人员能够将源代码文件放置在服务器中进行运行,但是将源代码直接运行会产生潜在的风险,例如用户下载Default.aspx或其他页面进行源代码的查看,这样就有可能造成源代码的泄露和漏洞的发现,这样是非常不安全的。将ASP.NET应用程序代码编译成动态链接库能够提高安全性,就算非法用户下载了相应的页面也无法看到源代码。
单击项目然后右击【项目图标】,选择【发布】按钮发布ASP.NET应用程序,系统会弹出发布对话窗用户应用程序的发布,如图1-35所示。
图1-34 源代码文件 图1-35 发布Web
单击【发布】按钮后,VisualStudio 2008就能够将网站编译并生成ASP.NET应用程序,如图1-36所示。编译后的ASP.NET应用程序没有cs源代码,因为编译后的文件会存放在bin目录下并编译成动态链接库文件,如图1-37所示。
图1-36 编译后的文件 图1-37 动态链接库文件
正如图1-36所示,在项目文件夹中只包含Default.aspx页面而并没有包含Default.aspx页面的源代码Default.aspx.cs等文件,因为这些文件都被编译成为动态链接库文件。编译后的ASP.NET应用程序在第一次应用时会有些慢,在运行后,每次对ASP.NET应用程序的请求都可以直接从DLL文件中请求,能够提高应用程序的运行速度。
1.6 小结
本章讲解了ASP.NET的基本概念,以及.NET框架的基本概念。这些概念在初学ASP.NET时会觉得非常的困难,但是这些概念会在今后的开发中逐渐清晰。虽然这些基本概念看上去没什么作用,但是在今后的ASP.NET应用开发中起着非常重要的作用,熟练掌握ASP.NET基本概念能够提高应用程序的适用性和健壮性。Visual Studio 2008不仅提供了丰富的服务器控件还提供了属性、资源管理、错误列表窗口以便开发人员进行项目开发。本章还包括:
q .NET历史与展望:包括.NET应用程序的过去和未来以及发展前景。
q ASP.NET与ASP:讲解了ASP.NET与ASP的不同之处。
q ASP.NET开发工具:讲解了ASP.NET开发工具的基本知识。
q .NET 框架:讲解了.NET框架的基本知识。
q 公共语言运行时(CLR):讲解了.NET框架的公共语言进行时。
q .NET Framework 类库:讲解了.NET框架的.NETFramework 类库的基本知识。
q 安装Visual Studio 2008:讲解了如何安装Visual Studio 2008。
q 安装SQL Server 2005:讲解了如何安装SQL Server 2005。
q ASP.NET应用程序基础:讲解了ASP.NET应用程序的安装,编译和运行。
本章着重讲解了VisualStudio 2008开发环境,以及如何安装SQLServer 2005以便于ASP.NET应用程序的数据存储。Visual Studio 2008和SQL Server 2005的紧密集成能够提高ASP.NET应用程序的开发效率和运行效率。本章讲解了ASP.NET的基本知识,ASP.NET使用的是C#语言进行开发的,了解C#编程语言是ASP.NET应用开发的第一步,下一章将会详细的讲解C#编程技术。