ASP.NET 4.5 程序设计基础教程(C#版)(txt+pdf+epub+mobi电子书下载)

作者:徐会杰,朱海,等

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

ASP.NET 4.5 程序设计基础教程(C#版)

ASP.NET 4.5 程序设计基础教程(C#版)试读:

前言

随着互联网的迅速普及,Web开发技术也有着日新月异的发展。从HTML、CGI到现在的Web 2.0,在短短20多年的时间里,出现了众多优秀的开发技术,其中微软公司(Microsoft Corporation.)推出的ASP.NET就是其中的佼佼者。.NET Framework作为ASP.NET的运行基础,为开发人员提供了一个一致的、面向对象的编程环境。从2000年.NET技术崭露头脚,到2012年推出.NET Framework 4.5,微软为推广.NET技术投入了巨大的人力和财力,.NET也因为其跨语言、跨平台、安全、以及对开放互联网标准和协议支持的优点吸引了全世界越来越多的开发人员。在.NET Framework的支持下,ASP.NET构建的应用程序可以运行在多种平台上。在微软的平台战略支持下,ASP.NET有着强大的开发工具(Visual Studio)和简单易用的运行环境(Internet Information System),所以ASP.NET也是当前最容易上手的网页开发环境。

本书作者根据多年从事Windows程序设计工作和讲授计算机专业相关课程的实际教学经验,以实用目的,精心选取教学内容,合理组织章节结构,抓住ASP.NET的知识体系,系统地讲解了各知识点的基础理论和使用方法。在内容设计上,本书以ASP.NET核心内容为切入点,降低入门学习难度,将难点以典型案例进行示范,提高学习效率;理论与实际紧密结合。在介绍每一个知识点的同时,均给出相应的代码(读者可按照书中提示信息找到每章的源码),并对同一知识点的不同解决代码进行横向对比,力求让读者在理解基础知识后,能够学以致用,快速上手。本书每章均附有小结和习题,有利于读者拓展思路并对所学知识进行深化理解。

本书共包含五个部分:

第1部分.NET Framework 4.5简介:包含.NET Framework 4.5简介、Visual Studio 2012集成化开发环境。这一部分通过对.NET Framework架构及开发工具的介绍,让读者对ASP.NET的开发、运行、调试有一个直观的了解;

第2部分 ASP.NET开发基础:包含ASP.NET技术简介、C#语言基础、ASP.NET内置对象、ASP.NET页面语法、ASP.NET服务器控件。这一部分介绍了开发ASP.NET的基础知识,对C#语言和服务器端对象进行详细介绍。

第3部分 构建ASP.NET应用程序:包含ASP.NET中的样式、主题和母版页、ASP.NET 4.5中的站点导航技术、用户控件与Web部件、ASP.NET应用程序安全技术。这一部分通过对ASP.NET服务器端控件、安全验证控件等的介绍,让读者对ASP.NET的服务器端、客户端交互有初步的认识。

第4部分 数据访问技术:包含ADO.NET数据访问技术、ASP.NET数据绑定技术与数据绑定控件、LINQ技术。这一部分重点介绍了ASP.NET的数据存储和操作技术,以实例的形式对页面的数据交互进行展示。

第5部分 ASP.NET高级应用:包含Web服务和WCF服务、ASP.NET的AJAX开发技术、网站发布、打包与安装。这一部分主要介绍了ASP.NET的一些高级应用技术,为读者以后进一步的深入学习研究打下基础。

本书面向本专科计算机、非计算机类等相关专业学生,简化学习难度,可以作为学习Web应用程序和动态网站开发课程教材,也可以作为相关软件开发人员的学习参考用书。

本书由河南科技大学王凤科负责策划、统稿,本书第3、4、17章由河南科技大学徐会杰编写,第5~6章由河南科技大学朱海编写,第2章由河南科技大学朱丹辉编写,第7~9章由河南科技大学杨玫编写,第14~16章由河南科技大学蔡羽编写,第1、10~12章由洛阳师范学院匡国防编写,第13章由洛阳理工学院刁文广编写,河南科技大学周晓蕴与洛阳理工学院周武强负责校对、审稿。同时,裴创、张军、张晓、杨爱其、董帅、颜同飞、刘海笑等在资料收集、代码调试等方面做了大量的工作,一并表示感谢。

由于编者水平有限、时间仓促,书中不足之处在所难免,敬请广大读者批评指正。衷心希望本书的出版能够对广大读者的学习和工作有所裨益。

第1章.NET Framework 4.5简介

本章要点或学习目标(理解.NET Framework的两个主要组件CLR和FCL(理解通用中间语言CIL(理解.NET Framework 4.5的新增功能

1.1.NET Framework基础概念

开发人员可以使用.NET Framework创建Web网站、Web服务应用程序、Windows系统以及智能设备应用程序等。微软公司从发布第一个.NET Framework以来,已经发布了1.0版、1.1版、2.0版、3.0版、3.5版、4.0版,目前.NET Framework 4.5是最新的版本,也是功能最强大和最完善的一个版本。1.1.1 什么是.NET Framework

在传统的软件开发工作中,开发人员需要面对的是多种服务器和终端系统,包括用于个人计算机的Windows系统、用于服务器的Windows服务器系统、非Windows系统(如FreeBSD、Linux和BSD)、用于平面设计的Mac OS X操纵系统,以及各种移动终端系统(如Windows Mobile、IOS、Android)等。

在开发基于以上这些系统的软件时,开发者需要针对不同的硬件和操作系统,编写大量实现兼容性的代码,并使用不同的方式对代码进行编译。这一系列问题,都给软件设计和开发带来很多困难。

以Windows操作系统为例,目前主要使用的Windows操作系统内核包括Windows 9X、NT4、NT5.0/5.1、NT6.0/6.1、Windows CE、Windows Mobile 6.X和Windows Phone OS等,在这些操作系统下进行软件开发,可使用的技术包括以下几种:(用于图形图像开发的GDI、DirectX、OpenGL等技术。(用于数据库操作的ADO、DAO、RDO、ODBC等技术。(用于Web应用开发的ASP、JSP、PHP等技术。(用于移动终端开发的XNA、HTML5等技术。

以上这些技术都有各自的标准和接口,相互不兼容。有些软件开发人员必须学习和使用相同的技术才能实现协作;而企业在实施开发项目时,也需要聘用指定技术的开发人员,才能实现最终的产品。

基于以上问题,微软在21世纪初开发出了一种致力于敏捷而快速的软件开发框架,其更加注重平台无关化和网络透明化,以公用语言运行时(Common Language Runtime,CLR)为基础,支持多种编程语言,这就是微软的.NET Framework。1.1.2.NET Framework的目标

.NET Framework(框架)是支持生成和运行下一代应用程序和Web服务的内部Windows组件。事实上它的主要特色在于简化应用程序的开发复杂性,提供一个一致的开发模型,开发人员可以选择任何支持.NET的编程语言来进行多种类型的应用程序开发,如Basic、C#、J#等。概括而言,.NET Framework旨在实现下列目标:(提供一个一致的面向对象的编程环境。无论开发的程序是在本地存储并执行的Windows窗体程序,还是基于B/S或者C/S架构的网络程序,其编程界面风格及控件都是相似的。(提供一个将软件部署和版本控制冲突最小化的代码执行环境。(提供一个可提高代码(包括未知的或不完全受信任的第三方创建的代码)执行安全性的代码执行官环境。(提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。(使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。(按照行业标准生成所有通信,确保基于.NET框架的代码可与任何其他代码集成。

.NET Framework由两个主要的组件组成:分别为公共语言运行时(Common Language Runtime,CLR)和.NET Framework类库(Framework Class Library,FCL)。1.1.3 公共语言运行时

公共语言运行时(CLR)是.NET框架的基础。可以将运行时看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程管理等核心任务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性验证。以运行时为目标的代码称为托管代码,而不以运行时为目标的代码称为非托管代码。.NET框架提供了托管执行环境,简化了开发和部署并与各种编程语言的集成,从而能够提高开发人员的工作效率。例如,程序员在用自己选择的开发语言编写应用程序时,可以利用其他开发人员用其他语言编写的运行时、类库和组件。

图1-1显示了公共语言运行时和类库、应用程序之间以及整个系统之间的关系。图1-1.NET的总体结构1.1.4.NET Framework类库

.NET Framework类库(FCL)是一个与公共语言运行时紧密集成的可重用的类型集合,包括类、接口和值类型的库,提供对系统功能的访问,且被设计为构建.NET Framework应用程序、组件和控件的基础。这使得.NET框架类型不但易于使用,而且还减少了学习.NET框架新功能所需要的时间。此外,第三方组件可与.NET框架中的类无缝集成。

1.2 通用中间语言

通用中间语言(Common Intermediate Language,CIL)一般称为通用中间语言,类似于一个面向对象的汇编语言,独立于具体CPU和平台的指令集,它可以在任何支持.NET框架的环境下运行。

在.NET编程环境中,不管程序员使用C++、C#、VB.NET还是J#语言编写程序,在程序进行编译的时候,编译器都会将源代码编译为CIL语言,然后再通过实时(Just In Time,JIT)编译器编译为针对各种不同CPU的指令(注意,因为JIT是实时编译器,所以它只编译需要运行的CIL语言段,而不是全部一下编译完,这样可以提高程序编译效率)。

因为所有的.NET编程语言都基于.NET框架并生成CIL,所以这些语言的编程风格非常相似,因此,学会一种.NET编程语言,其他.NET编程语言很快就能掌握。在本书中,采用的编程语言是C#。.NET体系结构如图1-2所示。图1-2.NET体系结构

1.3.NET Framework 4.5的新功能

.NET Framework 4.5是在以前版本.NET Framework 4.0的基础上完善而成的,为方便团队开发,增强应用程序的安全性,适应网络技术的新发展,微软对.NET框架原有的功能进行了完善和改进,并增加了很多新功能:(新增了对Windows商店应用程序的支持。(新增了可移植类库功能。(可生成在多个.NET框架平台(如Windows Phone和Windows应用商店应用程序的.NET)上处理的托管程序集。(使用异步操作提高文件输入/输出性能。(提高多核处理器的启动性能。(对多个客户端启用异步流消息,提高WCF应用程序的可伸缩性。(新增资源文件生成器(resgen.exe)。(对HTML5的全面支持。(增强了托管扩展框架(Managed Extensibility Framework,MEF)功能。(提供用于HTTP应用程序的新编程接口。(增强的Windows Presentation Foundation(WPF)功能,向WPF应用程序添加功能区用户界面。(更新的工作流(Windows Workflow Foundation)技术。

1.4 小结

本章详细介绍了.NET Framework的概念、目标以及框架包含的两个重要组件CLR和FCL;然后介绍了通用中间语言CIL;最后阐述了.NET Framework 4.5相比以前版本新增的功能。

1.5 习题

1.简述.NET Framework的基本结构。

2.简述.NET Framework 4.5的新增功能。第2章Visual Studio 2012集成化开发环境本章要点或学习目标(认识Visual Studio 2012 IDE(了解Visual Studio 2012的一些开发特性(能够安装Visual Studio 2012应用程序2.1 获取Visual Studio 2012“工欲善其事,必先利其器”。好的开发工具可以让程序设计人员事半功倍,Visual Studio 2012开发工具是目前所有开发工具中的佼佼者,该工具是微软公司未来配合.NET战略推出的IDE开发环境,本身包含.NET Framework及ASP.NET程序开发服务器。另外,在编写程序时该工具的智能代码提示功能会主动提示目前可用的属性、方法及参数等,程序开发人员可很方便地从中选择需要的代码,如图2-1所示为Visual Studio 2012智能显示可用的方法、属性及参数。图2-1 Visual Studio 2012智能显示可用的方法、属性及参数

那么,我们如何获取Visual Studio 2012呢?方法就是通过搜索引擎搜索“VS2012安装包下载”,然后找到适合的链接下载Visual Studio 2012安装包,下载完毕即可。本章提供一个Visual Studio 2012的安装包下载地址(Visual Studio 2012 Express For Win 8 简体中文版):http://download.microsoft.com/download/8/1/b/81b0c41a-595f-4d5d-8c83-bb29addb265d/vs2012_winexp_chs.iso,读者可以打开该链接地址进行下载、安装。2.2 安装Visual Studio 2012

对于专业程序开发人员来说,一般会通过安装Visual Studio 2012集成开发环境,来开发ASP.NET应用程序。本节将对Visual Studio 2012的安装与配置进行介绍。2.2.1 系统要求

1.操作系统要求

● Windows XP Service Pack 2.0

● Windows Server 2003 Service Pack 1.0

● Windows 7

● Windows 8

2.硬件要求

● CPU:至少600MHz(推荐使用1GHz)

● 内存:至少1GB(推荐使用4GB)

● 显示器:至少800×600像素,256色(建议用1024×768像素,增强色为16位)

3.磁盘要求

● 全部安装(包括帮助文档,即 MSDN),安装盘上至少需要 2.86GB 磁盘空间,系统盘至少剩余6GB磁盘空间2.2.2 安装步骤

下面将详细介绍如何安装Visual Studio 2012,使读者掌握每一步的安装过程。安装Visual Studio 2012的步骤如下:(1)解压安装包,打开Visual Studio 2012安装文件,进入安装程序文件界面,双击setup.exe可执行文件,应用程序会自动跳转到如图2-2所示的“Visual Studio 2012安装程序”界面。可以选择安装路径,勾选“我同意许可条款和条件”,第二个选项可以不勾选,单击“下一步”按钮。(2)进入安装选择功能,根据自己的需求,单击“安装”按钮。如图2-3所示。图2-2 Visual Studio 2012安装程序起始页图2-3 Visual Studio 2012安装选择界面(3)进入安装界面,如图2-4所示,安装成功后就可以启动了。(4)首次使用Visual Studio 2012之前,需要指定您从事最多的开发活动类型,如Visual Basic或Visual C#,此信息用于将预定义的设置集合应用于针对您的开发活动而设计的开发环境,如图2-5所示。另外,Visual Studio 2012需要一个密钥,这里提供一个供大家使用:YKCW6-BPFPF-BT8C9-7DCTH-QXGWC,如图2-6所示。图2-4 Visual Studio 2012安装进度界面图2-5 Visual Studio 2012选择默认环境设置图2-6 Visual Studio 2012密钥填写2.3 Visual Studio 2012开发界面

当打开Visual Studio 2012时,将显示如图2-7所示的界面,该窗口与普通的Windows窗体区别不大,同样具有菜单栏、工具栏,然后是一些自动停靠的窗口。下面我们通过创建一个Web应用程序来介绍Visual Studio 2012的一些开发特性。图2-7 Visual Studio 2012开发界面2.3.1 创建web应用程序(1)启动Visual Studio 2012开发环境,首先进入“起始页”界面。在该界面中,单击“文件→新建→项目”命令,创建应用程序,如图2-8所示。图2-8 新建项目(2)选择“新建项目”后,将打开新Web应用程序窗口。在该窗口的“模板”区域内选择“Web”,再选择“ASP.NET 空Web应用程序”,然后确定Web应用程序的位置,并选择编程语言,如图2-9所示:图2-9 创建Web应用程序(3)单击“确定”按钮,创建Web应用程序。同时,在开发环境下右击项目名称,添加新项Default.aspx页面,窗口的布局如图2-10所示。图2-10 窗口布局2.3.2 菜单栏

菜单栏显示了所有可用的Visual Studio 2012命令,除了“文件”、“编辑”、“视图”、“窗口”和“帮助”菜单之外,还提供编程专用的功能菜单,如“网站”、“生成”、“调试”、“工具”和“测试”等,如图2-11所示。图2-11 菜单栏

每个菜单项中都包含若干个菜单命令,分别执行不同的操作,例如,“调试”菜单包括调试工程的各个命令,如“启动调试”、“开始执行(不调试)”和“新建站点”等,如图2-12所示。图2-12“调试”菜单2.3.3 工具栏

为了操作更方便、快捷,菜单项中常用的命令按功能分组分别放入工具栏中,通过工具栏可以迅速地访问常用的菜单命令。常用的工具栏有标准工具栏和调试工具栏,如图2-13所示,下面分别介绍。图2-13 工具栏(1)标准工具栏包括大多数常用的命令按钮,如新建网站、添加新项、打开文件、保存、全部保存等。(2)调试工具栏包括对应程序进行调试的快捷按钮。2.3.4 解决方案资源管理器

解决方案资源管理器是常用的一个窗口,例如当打开在2.3.3节中示例的WebForm1程序项目后,Visual Studio 2012主窗口如图2-10所示。

可以看到在解决方案资源管理器中列出了项目中的所有文件和文件夹,并且在左下栏增加了一个属性窗口。单击不同的文件夹或文件,属性窗口自动显示出相应的属性信息。2.3.5 控件工具箱

工具箱是Visual Studio 2012的重要工具,每一个开发人员都必须熟悉这个工具。工具箱提供了进行Windows窗体应用程序开发所必需的控件。通过工具箱,开发人员可以方便地进行可视化的窗体设计,简化了程序设计的工作量,提高了工作效率。根据控件功能的不同,将工具箱划分为12个栏目,如图2-14所示。

单击某个栏目,将显示该栏目下的所有控件,如图2-15所示。当需要某个控件时,可以通过双击所需要的控件直接将控件加载到窗体上,也可以先选择需要的控件,再将其拖动到设计窗体上。工具箱面板中的控件可以通过工具箱右键菜单(如图2-16所示)来控制,如实现控件的排序、删除、显示方式等。图2-14 Visual Studio 2012“工具箱”面板图2-15 工具箱窗口图2-16 工具箱右键菜单2.3.6 服务器资源管理器

服务器资源管理器窗口可以很便利地列出指定服务器中的资源和数据库服务器资源,这个窗口使开发人员能十分方便地查看服务器端的资源,并可以通过拖动的方式向程序中添加服务器资源。服务器资源管理器中较常用的是数据链接项,在该项中可以添加修改数据表、视图、存储过程等,非常方便,如图2-17所示。图2-17 服务器资源管理器2.3.7 错误列表“错误列表”为代码中的错误提供了及时的提示和可能的解决方法。例如,当某句代码结束时忘记输入分号,错误列表中会显示如图2-18所示的错误。错误列表就好像一个错误提示器,它可以将程序中的错误代码及时地显示给编辑者,并通过提示信息找到相应的错误代码。图2-18“错误列表”面板2.3.8 页面设计窗口

在“Visual Studio 2012”集成开发环境中,页面设计窗口如图2-19所示。图2-19“Visual Studio 2012”页面设计窗口2.3.9 代码编辑窗口

ASP.NET 4.5也是事件驱动的编程模式,例如,在“设计”窗体中添加一个按钮。双击这个按钮便会进入“代码编辑区”,如图2-20所示(这种模式便是“代码隐藏页”)。同时ASP.NET 4.5也支持另一种模式即“单文件页”模型,例如,单击“源”选项卡,如图2-21所示。在单文件页模型中,页的标记及其编程代码位于同一个.aspx文件中。图2-20“代码编辑器”窗口图2-21“HTML代码编辑器”窗口2.4 Visual Studio 2012的主要特性

对于开发者而言,一款优秀智能的开发工具能够提升应用开发的效率,Visual Studio作为主流的开发工具,不仅能够让这款开发工具满足用户体验的需要,同时能够支持更多的新技术架构。2012年5月31日,和Windows 8 RP版一起,微软发布了Visual Studio 2012和.NET Framework 4.5的RC候选版该版本在Beta版的基础上进行了很多改进,尤其是用户界面。

概括而言,VS2012具有六大技术特点:

● VS2012和VS2010相比,最大的新特性莫过于对Windows 8 Metro开发的支持。Metro天生为云端而生,简洁、数字化、内容优于形式、强调交互的设计已经成为未来的趋势。不过对于开发者而言,要想使用这项新功能,必须要安装Windows 8 RP版。该版本中包含了新的Metro应用程序模板,增加了JavaScript功能、一个新的动画库,并提升了使用XAML的Metro应用程序的性能。

● VS2012 RC在界面上,比Beta版更容易使用,彩色的图标和按照开发、运行、调试等环境区分的颜色方案让人爱不释手。

● VS2012集成了ASP.NET MVC 4的开发环境,全面支持移动和HTML5,WF 4.5相比WF 4,更加成熟,期待已久的状态及工作流回来了,更棒的是,现在它的设计器已经支持C#表达式(之前只能用VB.NET)。

● VS2012支持.NET 4.5,和.NET 4.0相比,4.5更多的是完善和改进,4.5也是Windows RT被提出来的首个框架库,.NET获得了和Windows API同等的待遇。

● VS2012+TFS2012 实现了更好的生命周期管理,可以说,VS2012 不仅是开发工具,也是团队的管理信息系统。

● VS2012对系统资源的消耗并不大,不过需要Windows 7/8/10的支持。2.5 小结

本章详细介绍了Visual Studio 2012的集成开发环境,首先讨论了如何正确安装Visual Studio 2012,然后介绍IDE中比较常用的几个窗口,例如解决方案资源管理器、工具箱等。接下来讨论了Visual Studio 2012中的主要特性,通过这些功能来降低开发应用程序的难度,提升开发效率。

Visual Studio 2012 IDE的功能十分强大,本章的内容也只能是九牛一毛,笔者的建议是多学多用,多用快捷键来提高开发速度,将更多的时间留在业务逻辑的编码上。2.6 习题

1.选择题

_________不属于ASP.NET开发和运行环境。

A.安装IIS

B.SQL Server数据库

C.安装.NET Framework SDK

D.Visual Studio.NET

2.应用题(1)简述Visual Studio 2012开发环境中各窗口的基本功能。(2)根据所学的内容,在计算机E盘下创建一个测试用的Web应用程序(参考路径E:\webtest)。(3)打开习题(1)中建立的Web应用程序,双击解决方案资源管理器中的新建页WebForm1.aspx,单击切换页面视图,切换到“设计视图”,页内添加文字“Welcome to My Website!”,单击工具栏【运行】按钮或快捷键【F5】。第3章ASP.NET技术简介本章要点或学习目标● 了解ASP.NET 4.5的新增功能● 熟悉ASP.NET的文件类型和目录结构● 掌握Web.config文件配置● 掌握ASP.NET Web站点管理工具WAT和Web窗体基础3.1 ASP.NET 4.5概述

ASP.NET是微软.NET Framework中一套用于生成Web应用程序和XML Web Service的技术。ASP.NET页面在服务器上执行并生成发送到桌面或移动浏览器的标记(如HTML、XML或WML)。该页面使用一种已编译的、由事件驱动的编程模型,这种模型可以提高性能并支持将应用程序逻辑同用户界面相隔离。3.1.1 ASP.NET基础概念

ASP.NET是一种建立在公用语言运行时(CLR)上的编程框架,利用.NET框架提供的强大类库可以使用较少的代码完成功能强大的企业级Web应用程序。ASP.NET可以使用多种开发语言,其中C#最为常用。因为C#是.NET独有的语言,并且对Web开发做了很多优化以提高程序开发效率。此外,常用的开发语言还有VB.NET,适用于以前使用过VB语言做开发的程序员。ASP.NET为开发者提供了一个全面而强大的服务器控件结构,从外观上看,ASP.NET和ASP是相近的,但本质上是完全不同的,具体体现在以下四个方面:

● 开发语言不同。ASP仅局限于使用non-type脚本语言来开发,用户给Web页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱;ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜力巨大的.NET Framework。

● 运行机制不同。ASP 是解释运行的编程框架,所以执行效率较低;ASP.NET 是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。

● 开发方式不同。ASP 把界面设计和程序设计混在一起,维护和重用困难;ASP.NET 采用页面设计与代码分离的设计方案,更好地适应了项目开发中的美工与程序员开发的并行工作。提倡组件与模块化设计,每一个页、对象、HTML元素都是一个运行的组件对象,复用性和维护性得到了提高。

● 编程思维不同。ASP使用VBS/JS这样的脚本语言混合html来编程,而这些脚本语言属于弱类型、面向结构的编程语言,而非面向对象;ASP.NET摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C#、C++、JS等。以C#为例,它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了ASP以上弱点。3.1.2 ASP.NET 4.5的新功能

ASP.NET从1.0发展到4.5以来,在每个版本都有很重要和实用的功能推出,在1.0到2.0时代,Web控件的使用大大方便了开发者的开发;在ASP.NET 3.5中提供了动态数据支持,不用编写一行代码就可以极为快速地制作使用LING to SQL对象模型的数据驱动的网站;在4.0版本中,借鉴了开源程序设计阵营中使用众多的MVC框架思想,引入了ASP.NET MVC框架,以吸引更多的其他平台编程人员的加入。ASP.NET 4.5的新特性如下:

● ASP.NET 4.5继承并完善了4.0中MVC框架思想,为新版MVC 4框架设计提供了丰富的模板。

● 提供了强类型数据控件,在数据控件中使用强类型的表达式,而不是使用绑定或 Eval 表达式访问复杂属性。

● 全面支持HTML5新特性。

● Web窗体编程中的模型绑定。允许直接将数据控件绑定到数据访问方法,并自动对用户输入的数据进行格式转化。

● 为客户端脚本JavaScript提供隐式验证方式,即将验证代码和HTML分离,通过将客户端验证代码移到单个外部JavaScript文件,页面将变小且加载起来更为快速。

● 通过改进客户端脚本的绑定和合并,提高页面处理效率。将单独的JavaScript和CSS文件合并起来并通过绑定和缩减来减小其加载的范围,加快页面加载速度。

● 通过集成具有验证用户输入、防止注入攻击的AntiXSS库,对常规的表单进行编码,以防止跨站脚本攻击。

● 支持WebSockets协议。

● 支持异步读取和写入HTTP请求和响应。

● 支持异步模块和处理程序。

● 在ScriptManager控件中支持内容分发网络(CDN)回退功能。

● ASP.NET 4.5设计新特性在微软集成开发环境VS2012中得到了全面体现,这些新特性的详细讲解及使用将在后续章节中逐渐给出。3.1.3 ASP.NET开发工具

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

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

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

Visual Studio开发环境为开发人员提供了诸多控件,使用这些控件能够实现在ASP中难以实现的复杂功能,极大地简化了开发人员的开发。使用Visual Studio开发环境进行ASP.NET应用程序开发,还能够直接编译和运行ASP.NET应用程序。在使用Dreamweaver和FrontPage等工具进行页面开发时,需要安装IIS进行ASP.NET应用程序的运行。而Visual Studio提供了虚拟的服务器环境,用户可以像编写C/C++应用程序一样在开发环境中进行应用程序的编译和运行。图3-1 Visual Studio 2012 ASP.NET的开发界面3.1.4 ASP.NET客户端

ASP.NET应用程序是基于Web的应用程序,所以用户可以使用浏览器作为ASP.NET应用程序的客户端访问ASP.NET应用程序。浏览器已经是操作系统中必备的常用工具,包括IE9、IE10、Firefox、Chrome等常用浏览器都可以支持ASP.NET应用程序的访问和使用。对于ASP.NET应用程序而言,由于其客户端为浏览器,所以ASP.NET应用程序的客户端部署成本低,可以在服务器端进行更新而无需进入客户端进行客户端的更新。3.2 ASP.NET程序结构3.2.1 ASP.NET文件类型

网站应用程序由不同类型的文件组成,有的由ASP.NET管理,有的则由 IIS 服务器支持并管理。Visual Web Developer中的Add New菜单可以创建大部分类型的ASP.NET 文件。

文件类型与应用程序进行映射。例如系统会自动运行Notepad(Windows自带的记事本程序)来打开扩展名是.txt 的文件,本质上是.txt文件默认被映射到Notepad.exe上。而网站应用的文件类型则映射到IIS应用程序扩展。

1.ASP.NET管理的文件类型

ASP.NET管理的文件类型映射到 IIS的aspnet_isapi.dll上,ASP.NET管理的文件类型如表3-1所示。表3-1 ASP.NET 管理的文件类型

2.IIS管理的文件类型

ASP.NET管理的文件类型同样被映射到IIS中的asp.dll。IIS管理的文件类型见表3-2。

表3-2 IIS管理的文件类型

3.静态文件类型

IIS仅提供已注册MIME类型的静态文件服务。注册信息保存在MimeMap IIS元数据库中。如果某种文件类型已经映射到指定应用程序,在不需要作为静态文件的情况之下,无需再在MIME类型列表中进行包含。比如,ASP.NET源文件类型就不能包含在 MIME 类型列表中,因为不允许浏览器直接查看到源代码的内容。表3-3 已注册MIME文件类型3.2.2 ASP.NET目录结构

每个Web应用程序都要规划自己的目录结构,除了自己设计的目录结构外,ASP.NET也定义一些有特殊意义的目录。

● Bin:这个目录包含了所有预编译的ASP.NET的Web应用程序使用的.Net程序集(通常是DLLs),这些程序集也包括预编译的网页类,以及被这些类所引用的其他程序集。

● App_Code:这个目录中包含了应用程序中被动态预编译的源代码文件,这些代码文件通常是独立的组件,例如日记组件或数据访问类库。这些被编译的代码没有出现在Bin目录中,ASP.Net把它放在动态编译时使用的临时目录中。(如果在Visual Studio中使用工程模式开发 Web 应用程序,而不是一般的网站模式,就不需要使用这个目录,工程中的所有代码文件连同网页一起会自动被编译到Web应用程序的程序集中。)

● App_GlobalResources:这个目录中保存Web应用程序中每个网页都可以访问的全局资源。

● App_LocalResources:这个目录中保存的资源除了只允许它们所服务的网页访问以外,其他的作用跟App_GlobalResources目录一样。

● App_WebReferences:这个目录保存着 Web 应用程序使用的 Web Services 的引用,包括WSDL文件和WebServices的discovery文档。

● App_Data:这个目录是给数据存储保留的,包括SQL Server 2005 Express的数据库文件和XML文件。当然也可以自由在其他的目录中保存数据文件。

● App_Browsers:这个目录中包含了保存在XML文件中的浏览器的定义。这些XML文件定义了客户端浏览器的不同的渲染行为。虽然 ASP.NET 是在全局范围内使用它,但是App_Browsers允许给独立的Web应用程序配置这种行为。

● App_Themes:这个目录保存了Web应用程序使用的一些项目。3.3 ASP.NET配置

使用ASP.NET 配置系统的功能,可以配置整个服务器上的所有ASP.NET 应用程序、单个ASP.NET 应用程序、各个页面或应用程序子目录。可以配置各种功能,如身份验证模式、页缓存、编译器选项、自定义错误、调试和跟踪选项等。3.3.1 Web.config配置文件

Web.config文件是一个XML文本文件,它用来储存ASP.NETWeb 应用程序的配置信息(如最常用的设置ASP.NETWeb 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。Web.config继承来自.NET Framework安装目录的machine.config文件,machine.config配置文件存储了与影响整个机器的配置信息,不管应用程序位于哪个应用程序域中,都将取用machine.config中的配置。Web.config继承了machine.config中的大部分设置,同时也允许开发人员添加自定义配置,或者是覆盖machine.config中已有的配置。

在运行时对Web.config文件的修改不需要重启服务就可以生效(注:节例外)。当然Web.config文件是可以扩展的。用户可以自定义新配置参数并编写配置节处理程序以对它们进行处理。必须要理解,配置节是指块中的每个配置节都对应了一个节处理程序,很多配置节的节处理程序已经在默认的machine.config配置文件进行了声明。因此在创建标准ASP.NET应用程序时,并不需要自己添加处理程序,除非开发人员创建了自定义节处理程序。下面介绍Web.config配置文件中常用的配置节:

● <appSettings>节:<appSettings>节主要用来存储ASP.NET应用程序的一些配置信息,比如上传文件的保存路径等。

● <connectionStrings>节:<connectionStrings>节主要用于配置数据库连接,我们可以在<connectionStrings>节点中增加任意个节点来保存数据库连接字符串,以后在代码中通过代码的方法动态获取节点的值来实例化数据库连接对象,这样更改数据库仅仅需要更改一下配置文件即可。

● <authentication>节:设置ASP.NET身份验证模式,有四种身份验证模式,取值见表3-4。表3-4节的四种身份验证模式

● <authorization>节:控制对 URL 资源的客户端访问(如允许匿名用户访问)。此元素可以在任何级别(计算机、站点、应用程序、子目录或页)上声明。必须与<authentication> 节配合使用。

● <compilation>节:<compilation>节点配置 ASP.NET 使用的所有编译设置,默认的 debug属性为“true”,即允许调试,在这种情况下会影响网站的性能,所以在部署以后应该将该节点的值设置为false。

● <customErrors>节:<customErrors>节用于定义一些错误信息的信息。此节点有 Mode 和defaultRedirect两个属性,其中defaultRedirect属性是一个可选属性,表示程序发生错误时重定向到的默认URL,如果没有指定该属性则显示一般性错误。Mode属性是一个必选属性,它有三个可能值,它们所代表的意义见表3-5。表3-5节的Mode属性

● <httpRuntime>节:<httpRuntime>节点用于对ASP.NET HTTP运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。

● <pages>节:<pages>节用于表示对特定页设置,主要有三个属性,见表3-6。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书

若在网站上没有找合适的书籍,可联系网站客服获取,各类电子版图书资料皆有。

客服微信:xzh432

登入/注册
卧槽~你还有脸回来
没有账号? 忘记密码?