1.2 ASP.NET概述
ASP.NET是.NET Framework的一部分,它是一种使嵌入网页中的脚本可由Internet服务器执行的服务器端脚本技术,可以在通过HTTP请求文档时再从Web服务器上动态创建它们。
1.2.1 发展历史
ASP(Active Server Pages,动态服务器页面)是ASP.NET技术的前身。随着ASP的发展,它的缺点也日趋显著,这让ASP应用程序的维护难度大幅度提高。而且直译式的VBScript或JScript语言,让效果受到了限制。另外,延展性因为基础架构扩充性不足也受到限制。在这种情况下,急需寻找解决这些缺点的突破口。
1997年,微软针对ASP的缺点准备开发新项目时,刚刚毕业的ASP.NET的主要领导人和IIS团队合作开发出新一代ASP技术的原型,在同年的圣诞节,这项技术被称为XSP,它的原型就是Java语言。
随后,为了将XSP移植到CLR平台中,XSP将XSP的内核程序全部以C#语言重新撰写,并更改名称为ASP+,作为ASP技术的后继者,会提供一个简单的移转方法给ASP开发者。
然后,ASP+的Beta版本在PDC 2000中亮相,由Bill Gates主讲关键技术的概览,由富士通公司展示使用COBOL语言撰写ASP+应用程序。并且宣布它可以使用VB.NET、C#、Perl、Nemerle和Python语言开发。
2000年,微软正式推动.NET策略,ASP+顺利更改名称为ASP.NET。经过长时间的开发,ASP.NET 1.0在2002年1月5日和.NET Framework 1.0一起亮相。ASP.NET 1.0正式发布后,其发展速度也异常惊人,2003年升级为1.1版本。
ASP.NET 1.1版本发布后,更激发了Web应用程序开发者对ASP.NET的兴趣。由于微软公司提出了“减少70%代码”的目标,于是2005年11月微软公司又发布了ASP.NET 2.0。ASP.NET 2.0的发布是.NET技术走向成熟的标志。
伴着强劲的发展势头,2008年微软推出ASP.NET 3.5,使网络程序开发更倾向于智能开发。ASP.NET 3.5是建立在ASP.NET 2.0 CLR基础上的一个框架,其底层类库仍调用.NET 2.0以前封装好的所有类,但在.NET 2.0的基础上增加多个特性。
2010年,ASP.NET 4伴随着.NET Framework 4在Visual Studio 2010中应用。
2012年,ASP.NET 4.5伴随着.NET Framework 4.5在Visual Studio 2012中应用。
2013年,ASP.NET 4.5.1伴随着.NET Framework 4.5.1在Visual Studio 2013中应用。
提示
虽然ASP.NET 4.5.1是最新版本,它和.NET Framework 4.5.1、Visual Studio 2013可以在Windows 8系统上应用,但是这还需要一段时间的测试和适应。因此,本书以ASP.NET 4.5、.NET Framework 4.5和Visual Studio 2012为例进行介绍。
1.2.2 开发工具
ASP.NET开发的首选语言是C#以及VB.NET,同时它也支持多种语言的开发,如F#、J#、Java、Ruby和Delphi等。
ASP.NET的网站或者应用程序通常使用微软公司的集成开发环境工具Visual Studio进行开发,在开发过程中可以进行编辑。除了Visual Studio工具外,还可以使用以下几种工具进行开发。
(1)Dreamweaver:它是集网页制作和网站管理于一身的所见即所得网页编辑器,是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。
(2)SharpDevelop:它是一个用于制作C#或者VB.NET的项目而设计的一个编辑器,同时,这个编辑器本身就是使用C#开发的,而且公开全部源代码。
(3)MonoDevelop:它是一个跨平台的开放源代码集成开发环境,用来开发Mono与.NET Framework软件。目前支持的语言有C#、Java、BOO、Nemerle、Visual Basic .NET、CIL、C与C++。
(4)WebMatrix:它是微软最新的Web开发工具,包含构建网站所需要的一切元素。开发者可以从开源Web项目或者内置的Web模板开始,也可以直接从无到有编写代码。
(5)Notepad++:它是一款Windows环境下免费开源的代码编辑器,支持C、C++、Java、C#、XML、HTML、PHP和JavaScript语言。
1.2.3 特色优势
ASP.NET已经成为当前网站开发的技术之一,其特色优势如下。
1.与浏览器无关
ASP.NET生成的代码遵循W3C标准化组织推荐的XHTML的标准,开发者只需要设计一次页面,就可以让该页以完全相同的方式显示、工作在任何浏览器上。
2.方便设置断点、易于调试
调试一直是程序开发者头痛的一件事,好的调试工具能够使程序达到事半功倍的效果。由于使用的Web服务器不受IDE的约束,微软有了IIS就有了先天的优势,提供了跟踪调试的功能,非常方便代码的找错。
3.编译后执行,运行效率提高
代码编译是指将代码“翻译”成机器语言,但是在ASP.NET中并未直接编译成机器语言,而是先编译成微软中间语言(Microsoft Intermediate Language, MSIL或IL),然后由即时编译器(Just In Time, JIT)进一步编译成机器语言。编译好的代码再次运行时不需要重新编译,而是直接使用,这极大地提高了Web应用程序的性能。
4.丰富的控件库
如果要在JSP中实现一个树形导航菜单,这需要很多行代码。但是在ASP.NET中,程序开发者可以直接使用控件来完成,这样就节省了大量开发时间。内置的控件可以帮助开发者实现许多功能,从而达到减少代码量的目的。
5.代码后置,使代码更清晰
ASP.NET采用代码后置技术,将Web窗体页面的控件和程序逻辑代码分开显示,这样不仅代码更加清晰,而且有利于开发者阅读和维护。
1.2.4 了解ASP.NET 4.5
ASP.NET 4.5是ASP.NET开发的一个稳定版本,它支持使用最新的网页开发技术设计现代化的网页。使用网页开发技术设计网页有许多好处,包括更好的安全性、更好的执行效能、支持开发与部署Windows Azure云端网站,而且可以利用最新的HTML 5和CSS 3网页开发技术设计更好的网页功能。ASP.NET 4.5的新增功能如下。
(1)支持新的HTML 5窗体类型。
(2)在Web窗体中支持Model Binders模型绑定器。这允许开发者将控件直接绑定到Model模型的数据访问方法,并自动对输入的数据做类型转换。
(3)客户端支持独立文件的JavaScript验证。
(4)通过打包压缩和精简脚本来改进页性能。
(5)集成AntiXSS库,防止XSS跨站脚本攻击。
(6)支持WebSockets协议。
(7)支持异步读取和写入HTTP请求和响应。
(8)支持异步模块和处理程序。
(9)ScriptManager控件支持内容分布式网络回退。
开发者可以直接使用ASP.NET 4.5的技术,也可以将ASP.NET 1.×~4网页升级到ASP.NET 4.5版本。以ASP.NET 4升级到ASP.NET 4.5为例,不仅需要在Visual Studio 2012中将每个项目的targetFramework设置为.NET Framework 4.5进行翻译,然后在Web.config配置文件中设置compilation的targetFramework为4.5,还需要在Web.config中设置httpRuntime的targetFramework属性,代码如下。
<httpRuntime targetFramework="4.5"/>