1.1.1 B/S架构与ASP.NET
B/S架构应用程序的开发工具有很多,其中最被人们所熟知的是Microsoft推出的ASP.NET。
1.C/S与B/S架构的比较
C/S架构体系如图1-1所示。通常,程序员需要将开发完成的软件安装在计算机(客户机)中,将数据库安装在专用的服务器(数据库服务器)中,用户通过安装在客户机中的软件和网络进行各种数据库操作。如果是单机版应用程序,其数据库直接安装在本地计算机中即可。
图1-1 C/S架构体系
C/S架构应用程序最主要的特征就是要求客户机中必须安装客户端程序,否则无法工作。常用的聊天工具(如QQ、微信)及一些网络游戏都属于C/S架构的应用程序。
B/S架构应用程序使用户通过浏览器即可访问,无须在本地计算机中安装任何客户端程序。其架构体系如图1-2所示,由客户机、Web应用服务器和数据库服务器3部分组成,在中小型应用系统中,Web应用服务器可以与数据库服务器安装在同一台计算机中。在大型应用系统中,也可以将同一应用程序的不同数据处理业务分别安放在不同的Web应用服务器中(两台或多台),以实现分布式数据处理的需要。
图1-2 B/S架构体系
与C/S架构相比,B/S应用程序不需要在客户机上安装专门的客户端软件,用户在使用程序时仅需要通过安装在客户机上的Internet浏览器访问指定的网页即可。目前绝大多数微机都在使用集成了IE或Edge浏览器的Windows操作系统,也就是说,只要客户机能够通过网络访问指定的Web服务器,即可正常使用B/S架构的应用程序。
此外,在B/S架构的应用程序中,主要的数据分析和处理工作是在应用服务器中完成的,它将处理完毕的数据以HTML网页的形式推送给客户端浏览器。客户端主要用来收集用户数据、下达指令和接收服务器处理结果,所以客户机的配置要求不高,B/S架构非常适合“瘦客户端”的运行环境。
2.ASP.NET的发展历程
Microsoft最初推出的是动态服务器页面(Active Server Page,ASP)技术,它允许开发人员在静态网页的HTML编码中添加使用VBScript语言编写的脚本代码,实现初步的交互功能。
2002年Microsoft推出.NET Framework后,ASP也升级到了ASP.NET,将功能实现代码与页面表现代码彻底分离(分别保存在不同的文件中),而且在程序设计语言上支持更强大的C#和Visual Basic。之后,随着.NET Framework的不断升级,ASP.NET也在不断地更新与完善。这一阶段的ASP.NET使用的是Web窗体(Web Form)应用程序设计框架。本书的前半部分主要介绍使用Web Form框架进行Web应用程序设计的技术。
2007年底,Microsoft首次推出了基于MVC模式编写ASP.NET Web应用程序的框架,称为ASP.NET MVC,MVC是模型(Model)、视图(View)和控制器(Controller)3个单词的缩写。本书将在后续章节中对ASP.NET MVC编程技术进行介绍。
随着.NET Framework的不断更新,其稳定性及功能日趋强大。但.NET Framework对Windows操作系统有较深的绑定这一缺陷也越来越明显。为解决这一问题,Microsoft于2016年6月推出了.NET Core,对应的ASP.NET称为ASP.NET Core,这是一个开源的模块化的Framework,无论是开发Web应用程序还是移动设备应用程序,都在同一个Framework(.NET Core)下运行,而且.NET Core也可在不同的操作系统(如Windows、Linux和macOS等)上运行,实现了跨平台、跨设备应用程序开发的需要。