1、本科生毕业论文目 录摘要1第1章 引言21.1. 基于Web方式的数据库应用系统21.1.1. 从Client/Server应用到Intranet/Web应用21.1.2. Web服务器与数据库服务器的连接技术31.1.2.1. CGI技术31.1.2.2. ISAPI31.1.2.3. ODBC41.1.2.4. JDBC41.1.2.5. ASP技术51.2. CASE管理信息系统61.3. 本文所作工作6第2章 Microsoft.NET概述82.1. .NET平台概述82.2. .NET框架概述82.2.1. 通用语言运行时和基础类库92.2.2. ADO .NET92.2.3. AS
2、P .NET102.2.3.1. ASP .NET网络表单102.2.3.2. ASP .NET网络服务102.2.3.3. ASP .NET应用框架112.3. .NET 企业版服务器112.3.1. SQL Server 2000122.4. .NET 语言和语言工具122.4.1. C程序语言概述122.4.1.1. 简单122.4.1.2. 现代132.4.1.3. 面向对象132.4.1.4. 类型安全132.4.1.5. 版本可控(Versionable)142.4.1.6. 兼容142.4.1.7. 灵活142.4.2. Visual Studio.NET14第3章 基于.NET
3、平台的开发策略153.1. Web 应用程序(项目)153.1.1. Visual Studio.NET开发ASP.NET Web 应用程序153.1.2. ASP.NET Web 应用程序的元素153.1.3. ASP.NET Web 应用程序模板163.1.4. 用户界面:Web 窗体和 ASP.NET 页框架173.1.5. Web 应用程序数据访问183.1.6. Web 应用程序结构:安全性、性能和其他183.2. ASP.NET Web窗体193.2.1. Web窗体概述193.2.2. Web窗体组成193.2.2.1. 可视组件(页面)193.2.2.2. 用户界面逻辑203.
4、2.3. “Web 窗体”的功能203.3. ASP.NET 服务器控件213.3.1. 概述213.3.2. HTML 服务器控件213.3.3. Web 服务器控件223.3.4. ASP.NET 服务器控件事件模型233.4. ADO.NET访问数据243.4.1. 概述243.4.2. 数据连接(Connection)243.4.3. 数据适配器253.4.4. 数据集253.4.4.1. 数据集、架构和 XML263.4.4.2. 类型化数据集与非类型化数据集263.4.4.3. 更新数据集和数据存储区273.4.5. Web 窗体数据绑定273.4.5.1. 绑定模式:只读273.
5、4.5.2. 绑定方式一:绑定属性273.4.5.3. 绑定方式二:绑定多记录和单值控件28第4章 CASE管理系统分析设计294.1. CASE管理系统分析设计流程294.2. 应用需求描述和分析304.2.1. 背景304.2.2. 工作流程304.2.3. 需求分析314.2.3.1. 功能需求314.2.3.2. 性能需求324.2.3.3. 其它需求324.3. 系统功能设计324.3.1. 服务协议管理模块334.3.2. 客户资料管理模块334.3.3. 工程师资料管理模块334.3.4. Case处理管理模块334.3.5. Case查询管理模块334.3.6. Case统计管
6、理模块334.4. 系统数据库设计334.4.1. 概念设计334.4.1.1. 局部ER模式设计344.4.1.2. 设计全局ER模式354.4.2. 关系数据库的逻辑设计364.4.2.1. 导出初始关系模式364.4.2.2. 产生子模式374.4.2.3. 关系图384.5. 物理实现384.5.1. 数据库物理实现384.5.1.1. 服务协议基本资料表(T_ServiceBasic)394.5.1.2. 服务协议合同资料表(T_ServiceDetail)394.5.1.3. 客户联系人资料表(T_CustomerData)394.5.1.4. 工程师资料表(T_EngineerD
7、ata)404.5.1.5. Case基本情况表(T_CaseBasic)404.5.1.6. Case故障申告记录表(T_CaseTroubleRecord)414.5.1.7. Case状态转换记录表(T_CaseStateRecord)414.5.1.8. Case服务记录表(T_CaseServiceRecord)424.5.1.9. Case 升级记录(T_CaseUpgradeRecord)424.5.1.10. Case客户满意度得分记录(T_CaseSatisfactionRecord)424.5.2. 运行环境实现434.5.2.1. 硬件环境:434.5.2.2. 软件环境
8、43第5章 CASE管理信息系统应用程序设计445.1. 系统程序模块组成445.2. Web窗体设计说明455.2.1. 操作界面455.2.2. 程序组成455.3. 如何实现统一功能的主菜单455.3.1. 用户控件的创建465.3.2. 用户控件的引用465.4. 数据浏览功能的实现465.4.1. DataGrid Web服务器控件465.4.2. DataSet 控件(对象)475.4.2.1. DataSet控件(对象)工作原理475.4.2.2. 数据绑定485.4.2.3. 数据填充485.5. 数据维护操作的实现495.5.1. SQLCOMMAND对象495.5.2. S
9、QLCommand编码实现505.6. 数据一致性问题的处理535.6.1. Case信息记录中数据一致性问题545.6.2. CaseID生成565.7. 程序清单57结束语58参考书目59致谢92第 IV 页摘要Microsoft.NET 框架是微软公司针对建立和运行在下一代应用和XML Web Service的Windows平台的组成部分。基于该平台可以开发出新一代的基于Web浏览方式和面向对象技术的管理信息系统。本文在分析了.NET的体系结构和关键技术后,结合某公司售后服务工作的实际情况,设计和开发了一个基于.NET平台的CASE 管理信息系统。经测试,该系统可以在该公司投入使用。关键
10、词:.NET框架,Web, 面向对象,CAS管理信息系统AbstractThe Microsoft .NETFramework is the Microsoft Windows component for building and running the next generation of applications and XML Web services.Base on the Framework, We can establish a new generation, application that use the web browers and the object-oriented
11、technology. We analyze the architecture and key technologies of .NET Framework, combine the post-sales process of the system integrate(SI) company,design and programme a case management information system(CASEMIS) based on the .NET Framework. By the test,the system is applied in the company.Keywords
12、NET Framework,Web,Object-oriented,CASEMIS第1章 引言1.1. 基于Web方式的数据库应用系统数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,随着WEB数据库开发技术的发展及网络安全性的提高,WEB版管理系统将是传统Win版MIS系统的代替产品,其具有低廉的运作成本及免维护的客户端而被越来越多的用户所青睐。基于Web的数据库访问技术是指:在客户端安装Web浏览器,作为用户输入查询条件和显示查询结果的交互界面。用户可以通过填写表格或输入关键字的方式来与WW
13、W进行交互,当用户单击表格上的按钮时,表格中的数据便发送到Web服务器。Web服务器介于Web浏览器与数据库服务器之间,负责用户输入信息的接收。服务器将数据传送至要被处理的脚本或应用程序,并在数据库中查询数据或将数据投递到数据库中。最后,服务器将返回结果插入到HTML页面,传送至客户端以响应用户。1.1.1. 从Client/Server应用到Intranet/Web应用在过去的十几年里,Client/Server结构为实现企业级的信息共享起到了举足轻重的作用,但随着企业规模的日益扩大,应用程序复杂程度的不断提高,传统的Client/Server结构也暴露出许多问题,尤其是系统软件和应用软件变
14、得越来越复杂。这不仅给应用软件实现带来困难,还给软件维护造成不便;随着用户需求的改变,Client端应用软件可能需要增加新的功能或修改用户界面,那么该软件的应用范围越广,软件维护的开销也就越大。另外,Client/Server结构所采用的软件产品大都缺乏开放的标准,一般不能跨平台运行。当把Client/Server结构的软件应用于广域网时就暴露出更大的不足。Intranet/Web技术可以比较圆满地解决上述问题。Intranet是采用Internet技术的企业内联网络,它既可与Internet互联,也可以独立使用,具有很大的灵活性。用户只要在内部Intranet上建立自己的Web服务器,并通过
15、Web服务器与数据库服务器连接,就能够大大降低软件维护开销,因为采用Intranet/Web技术,我们只需开发和维护服服务器端应用程序(无需开发客户端程序),而服务器上所有的应用程序都可通过Web浏览器在客户机上执行,从而统一了用户界面。由于几乎各种操作系统上都有Web浏览器,所以Intranet/Web应用可以方便地实现跨平台操作。1.1.2. Web服务器与数据库服务器的连接技术从技术发展的角度来看,以前通过浏览器访问数据库的惟一渠道是CGI方式。随后出现了ISAPI、NSAPI和JDBC等技术方案,近来又流行ASP技术。下面我们对这些技术逐一进行分析。1.1.2.1. CGI技术CGI(
16、Common Gateway Interface)是外部应用程序与Web服务器交互的一个标准接口。CGI应用程序可以完成客户端与服务器的交互操作。它打破了服务器软件的局限性,允许用户根据需要采用各种语言去实现无法用HTTP、HTML实现的功能,给WWW提供了更为广阔的应用空间。例如,一个能够访问外部数据库的CGI程序可以使客户端用户通过Web服务器进行数据库的查询。同时,CGI也为在不同的平台之间进行沟通提供了范例。遵循CGI标准编写的服务器端的可执行程序称为CGI程序。CGI最大的用处之一在于其与浏览Web站点的用户之间的交互能力,使信息网关、反馈机制、访问数据库、订阅和查询等一系列灵活复杂
17、的操作得以实现。通过这个公共网关界面,服务器可以向CGI程序发送信息,CGI程序也可以向服务器回送信息。使用CGI实现Web与数据库的互连,最大的优点在于其通用性。目前几乎所有的HTTP服务器都支持CGI。CGI程序与服务器、CGI的跨平台性能极佳,几乎可以在任何操作系统上实现,如DOS、Windows、Unix、OS/2、Macintosh等。CGI的缺点也是显而易见的: CGI的应用程序一般都是一个独立的可执行程序,与Web服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。每当有一个用户请求,就会激活一个CGI进程。当用户请求数量非常多时,大量的CGI程序就会大量挤占
18、系统的资源,如内存、CPU时间等,造成CGI运行效率低下。另外CGI的功能有限、开发较为复杂,且不具备事务处理(Transaction)功能,这在一定程度上限制了它的应用。1.1.2.2. ISAPIISAPI是Microsoft提供的一套面向Internet服务的API接口,用它编制的程序以动态链接库(DLL)的形式存在,可实现CGI程序所能提供的全部功能。ISAPI的工作原理和CGI大体上是相同的,都是通过交互式主页取得用户输入信息,然后交服务器后台处理。但是二者在实现机制上大相径庭。ISAPI与CGI最大的区别在于:在ISAPI下建立的应用程序都是以动态链接库的形式存在的;而CGI的应用
19、程序一般都是可执行程序。在ISAPI调用方式中,被用户激活的DLL和WWW服务处于同一进程中,在处理完某个用户的请求后不会马上消失,而是和WWW服务器一起继续驻留在内存中,等待处理其他用户的HTTP请求,直到过了指定时间后一直没有用户输入为止。基于ISAPI的所有进程都可以获得HTTP Server上的任何资源, 而且当它调用外部CGI Script时,需要的开销也较单纯的CGI少。因此ISAPI的运行效率要显著高于CGI程序。ISAPI的工作过程如图2所示。图2 通过ISAPI接口访问 Web数据库由于开发ISAPI应用要用到Microsoft的一套API,所以能用来开发ISAPI应用的语言
20、不如CGI多,主要有Visual C+ 4.1以上版本,也可以使用Visual Basic 5.0、Borland C+ 5.0等。ISAPI可以用来写Web服务器(如IIS)的OLE服务器扩展和过滤器,例如Visual C+ 5.0 MFC提供了5个类(CHttpServer、CHttpServerContext、CHtmlStream、CHttpFiler、CHtt pServerFilter)用来写ISAPI应用。1.1.2.3. ODBCAPI方法与Web服务器结合紧密,所以性能较高。但是利用底层的API开发数据库访问程序仍然很困难,因此一般使用基于底层API的高层数据库编程接口,这就
21、是我们所说的ODBC。ODBC是开放数据库互连的简称,是一种使用SQL的应用程序接口(API)。ODBC一个最显著的优点是用它生成的程序与数据库或数据库引擎是无关的。ODBC可使程序员方便地编写访问各DBMS厂商的数据库的应用程序,而不需了解其产品的细节。Web服务器通过数据库驱动程序ODBC向数据库服务器发出SQL请求,数据库服务器接到的是标准的SQL查询语句,数据管理系统执行SQL查询并将查询结果再通过ODBC传回Web服务器。许多服务器扩展程序使用包含ODBC层的系统结构。ODBC是为调用关系数据库提供统一途径的一类API,由于它适用于许多不同的数据库产品,因此是服务器扩展程序开发者们理
22、所当然的选择。Microsoft Developer Studio为大多数标准的数据库格式提供了32位ODBC驱动器。这些标准数据格式包括有SQL Server、Access、Paradox、dBase、FoxPro、Excel、Oracle以及Microsoft Text。如果用户希望使用其他数据格式,则需要安装相应的ODBC驱动器及DBMS。用户使用自己的DBMS数据库管理功能生成新的数据库模式后,就可以使用ODBC来登录数据源。对用户的应用程序来说,只要安装有驱动程序,就能注册很多不同的数据库。1.1.2.4. JDBCJava语言显示出优于以往编程语言的诸多特色,赢得了众多数据库厂商的
23、支持。为了同时连接到多个数据库进行并行的联合查询,可以充分利用Java语言本身的特色。由于Java是一种面向对象的、多线程的网络编程语言,因此能够用多个线程对应多个不同的数据库进行查询操作。用户发出的同一条查询语句同时启动多个线程,并行运行,同时进行异构数据库的联合查询。在数据库处理方面,Java提供了JDBC(Java数据库连接:Java Database Connectivity),为数据库开发应用提供了标准的应用程序编程接口。与ODBC类似,JDBC也是一种特殊的API,是用于执行SQL语句的Java应用程序接口(Java API),它规定了Java如何与数据库进行交互作用。JDBC由一
24、组用Java语言写的类和接口组成,利用Java机制设计的标准SQL数据库连接接口JDBC去访问数据库。JDBC也是一种规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。JDBC与Java结合,使用户很容易地把SQL语句传送到任何关系数据库中,程序员用它编写的数据库应用软件,可在各种数据库系统上运行。采用JDBC可以很容易用SQL语句访问任何商用数据库(或称异构数据库),如SQL Server,Sybase或Oracle。采用Java和JDBC编写的数据库应用程序具有与平台无关的特性,很容易用SQL语句访问任何商用数据库,而不必为每一种数据库平台编写不同的程序。基于Ja
25、va的JDBC发展迅速。Sun承诺任何Java Applet或者Java应用软件都能够与数据库结合。由于JDBC利用了Java的跨平台特色,因此,它成为Intranet和Internet环境下访问异构数据库的一种较优方式。1.1.2.5. ASP技术ASP(Active Server Pages)是由Microsoft开发的一项新技术。ASP是一个基于Web服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。与常见的在Client端实现动态主页的技术如Java applet、ActiveX Control、VB Script、JavaScript等不同,ASP中
26、的命令和Script语句都是由服务器来解释执行的,执行结果产生动态生成的Web页面并送到浏览器;而Client端技术的Script命令则是由浏览器来解释执行的。由于ASP在服务器端解释执行,开发者可以不必考虑浏览器是否支持ASP;同时由于它在服务器端执行,开发者也不必担心别人下载程序以窃取编程逻辑,从而保护了开发者的利益。ASP具有如下特点:1. 编程简单。ASP使用Script(描述性的语言),只使用简单的语法和数学表达式,而且不需要编译。2可嵌入到HTML文件中。ASP不需要别的设计环境,ASP文件的制作和HTML类似,且和HTML开发集成,可以在同一个过程完成。3支持广泛。ASP除支持V
27、B Script、JavaScript外,还能以插件形式支持第三方语言,如PERL、TCL等。4ASP通过后缀名为.asp的ASP文件来实现,一个ASP文件相当于一个可执行文件,因此必须放在Web服务器上有可执行权限的目录下。当浏览器向Web Server请求调用ASP文件时,就启动了ASP。Web Server开始调用ASP,将被请求的.asp文件从头读到底,执行每一个命令,然后动态生成一个HTML页面并送到浏览器。通过ASP内置的对象、服务器组件(ServerComponent)可以完成非常复杂的任务,而且用户还可以自己开发或利用别人开发的服务器组件完成专门的任务。1.2. CASE管理信
28、息系统当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好某IT公司售后服务中CASE信息而设计的。某IT公司(以下简称公司),是一家国内著名的系统集成公司,为电信行业的客户提供各种售后服务。经过公司最近几年的业务发展和努力下,业务与售后服务范围遍及全国各个地区和行业。客户对售后服务的
29、要求越来越多,要求也越来越高,而目前该公司对于这方面的信息管理的主要方式是基于文本、表格等纸介质的手工处理,一方面数据信息处理工作量大,容易出错;另外一个方面,在CASE处理过程中,信息无法共享,信息利用率低。基于这此问题,我认为有必要建立一个CASE管理信息系统(CASEMIS),使CASE管理工作规范化,系统化,程序化,避免CASE管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和共享有关资料。1.3. 本文所作工作本文结合Case管理信息系统设计与开发,对Microsoft公司推出的NET平台和.NET Framwork框架,面向对象的动态网页Web编程技术(ASP.
30、NET)、C#程序语言、SQL数据库管理系统、VisualStudio.NET应用程序设计和数据库技术进行了较深入的学习和应用,主要完成对CASE管理系统的需求分析、功能模块划分、数据库模式分析,并具此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的CASE管理信息系统可以基本满足某IT服务公司售后服务工作的实际需要。引言部分对Web数据库应用系统的结构、开发进行了简要介绍,分析了CASE管理信息系统设计的特点和任务。第二章对.NET平台技术,包括.NET Frame,ASP.NET,C#,.NET数据服务器进行了系统分析、认识和了解,为深入系统设计与开发和应用打下了基础。第三章学习
31、了具体的开发工具VisualStudio.NET,对其面向对象的各种数据组件、Web组件,以及应用C#语言在VisaulStudio.NET中的应用和数据库编程关键技术进行了系统的介绍。第四章分析了CASE管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,并建立了数据库表格和表间关系。第五章进行了具体的程序设计,设计了若干个操作界面。实现了数据库数据内容的浏览,记录的添加、删除和修改,实现了多数据库表的连接操作,实现了多条件查询和模糊查询和统计。 设计中,充分利用.NET平台的中各种技术,灵活运用了数据控件、Web控件、用户
32、自定义控件,并结合C语言与面向对象技术等,提高了编程效率。结束语部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。第2章 Microsoft.NET概述2.1. .NET平台概述.NET 平台是一个全新的开发框架,它具有与Windows服务和API合作的全新编程接口,集成了Microsoft 20世纪90年代后期的许多技术。.NET中的元素包括COM+组件服务,ASP Web开发框架,XML和面向对象设计,对新的Web服务协议(如SOAP、WSDL和UDDI)的支持,以及实现以 Internet为中心的理念。.NET平台包括以下几个组成部分l .NET 框架(NET Fram
33、ework)l .NET 企业版服务器l .NET 语言和语言工具以下分别说明2.2. .NET框架概述.NET框架是.NET中最核心的部分,其结构框图如下:图21 .NET框架结构框图从上图我们可以简要的了解.NET框架的几个主要组成部分:首先是整个开发框架的基础,即通用语言运行时以及它所提供的一组基础类库;在开发技术方面,.NET提供了全新的数据库访问技术ADO .NET,以及网络应用开发技术ASP .NET和Windows编程技术Win Forms;在开发语言方面,.NET提供了VB,VC+,C#, Jscript等多种语言支持;而Visual Studio .NET则是全面支持.NET
34、的开发工具。2.2.1. 通用语言运行时和基础类库 通用语言运行时,即Common Language Runtime。Microsoft .NET 给开发人员带来了一种全新的开发框架,而通用语言运行时则处于这个框架的最低层,是这个框架的基础。通用语言运行时则为多种语言提供了一种统一的运行环境。另外它还提供了更多的功能和特性,比如统一和简化的编程模型,从而大大简化了应用程序的发布和升级;实现多种语言之间的交互,例如我们甚至可以在VB中使用C+编写的类;自动的内存和资源管理等等。Microsoft .NET正是基于通用语言运行时,实现了这些开发人员梦寐以求的功能。 基于通用语言运行时开发的代码称为
35、受控代码,它的运行步骤大体如下:首先使用一种通用语言运行时支持的编程语言编写源代码,然后使用针对通用语言运行时的编译器生成独立于机器的微软中间语言(Microsoft Intermediate Language),同时产生运行所需的元数据,在代码运行时再使用即时编译器(Just In Time Compiler)生成相应的机器代码来执行。 当然对于开发者而言,他们除了关心通用语言运行时提供那么多新特性外,它究竟给开发者提供了什么样的编程接口,这就是基础类库(Base Class Library)。这组基础类库包括了从输入输出到数据访问等各方面,提供了一个统一的面向对象的、层次化的、可扩展的编程
36、接口。它使用一种点号分隔的方法,使得查找和使用类库非常容易。例如基础类库中的根,它的命名空间是System,提供数据访问的类库的命名空间是System.Data。在使用时,开发者只需在自己的应用中添加所需的基础类库的引用,然后就可以使用这个类库中的所有方法、属性等等。跟传统的Windows编程相比,使用和扩展基础类库都非常容易,这使得开发者能够高效、快速的构建基于下一代互联网的网络应用。 2.2.2. ADO .NET 几乎所有的应用程序都需要访问从简单的文本文件到大型的关系型数据库等各种不同类型的数据。在Microsoft .NET中访问数据库的技术是ADO .NET。ADO .NET提供了
37、一组用来连接到数据库,运行命令,返回记录集的类库,与从前的ADO(ActiveX Data Object)相比,Connection和Command对象很类似,而ADO .NET的革新主要体现在如下几个方面: 首先,ADO .NET提供了对XML的强大支持,这也是ADO .NET的一个主要设计目标。在ADO .NET中通过XMLReader,XMLWriter, XMLNavigator, XMLDocument等可以方便的创建和使用XML数据,并且支持W3C 的 XSLT、DTD、XDR等标准。ADO .NET对XML的支持也为XML成为Microsoft .NET中数据交换的统一格式提供了
38、基础。 其次,ADO .NET引入了DataSet的概念,这是一个驻于内存的数据缓冲区,它提供了数据的关系型视图。不管数据来源于一个关系型的数据库,还是来源于一个XML文档,我们都可以用一个统一的编程模型来创建和使用它。它替代了原有的Recordset的对象,提高了程序的交互性和可扩展性,尤其适合于分布式的应用场合。 另外,ADO .NET中还引入了一些新的对象,例如DataReader可以用来高效率的读取数据,产生一个只读的记录集等等。简而言之,ADO .NET通过一系列新的对象和编程模型,并与XML紧密结合,使得在Microsoft .NET中的数据操作十分方便和高效。 2.2.3. AS
39、P .NETASP .NET是Microsoft .NET中的网络编程结构,它使得建造、运行和发布网络应用非常方便和高效。我们可以从以下几个方面来了解ASP .NET: 2.2.3.1. ASP .NET网络表单 ASP .NET网络表单的设计目的就是使得开发者能够非常容易的创建网络表单,它把VB中的快速开发模型引入到网络开发中来,从而大大简化了网络应用的开发。具体的说:在ASP .NET中可以支持多种语言,不仅仅支持脚本语言,通用语言运行时支持的所有语言在ASP .NET中都可以使用;代码和内容分开,在现在的ASP(Active Server Pages)开发中,内容和脚本交错,维护和升级很
40、困难,将他们分开可以使得开发人员和设计人员能够更好的分工合作,提高开发效率;另外在ASP .NET中通过引入服务器端控件,将类似VB的快速开发应用到了网络开发中来,这样大大提高了构建网络表单效率,并且服务器端控件是可扩展的,开发者可以建造自己需要的的服务器端控件。 2.2.3.2. ASP .NET网络服务 网络服务(Web Service)是下一代可编程网络的核心,它实际上就是一个可命名的网络资源,可用来在Internet 范围内方便的表现和使用对象,就像使用今天的 COM对象一样,不同的是使用和表现网络服务是通过SOAP(简单对象访问协议)甚至HTTP来实现的。在ASP .NET中,建造和
41、使用网络服务都非常方便: 在ASP .NET中建造网络服务就是编写一个后缀为.ASMX的文件,在这个文件中加入想要表现出来的方法就可以了,网络服务的建造者不需要了解SOAP,XML的细节,只需要把精力集中在自己的服务本身,这也为独立软件服务开发商提供了很好的机会;使用网络服务最简单的方式就是使用HTTP协议(HTTP GET 或HTTP POST),用户只需要直接访问网络服务(.ASMX文件)的URL即可;当然用户还可以通过SOAP在自己的应用中更灵活的使用网络服务。 2.2.3.3. ASP .NET应用框架 ASP .NET应用不再是解释脚本,而是编译运行,再加上灵活的缓冲技术,从根本上提
42、高了性能;由于ASP .NET的应用框架基于通用语言运行时,发布一个网络应用,仅仅是一个拷贝文件的过程,即使是组件的发布也是如此,更新和删除网络应用,可以直接替换/删除文件;开发者可以将应用的配置信息存放XML格式的文件中,管理员和开发者对应用程序的管理可以分开进行;提供了更多样的认证和安全管理方式;在可靠性等多方面都有很大提高。 传统的基于Windows的应用(Win Forms),它仍然是Microsoft .NET战略中不可或缺的一部分。在Microsoft .NET中开发传统的基于Windows的应用程序时,除了可以利用现有的技术例如ActiveX控件以及丰富的Windows接口外,还
43、可以基于通用语言运行时开发,可以使用ADO .NET、网络服务等,这样也可以实现诸如避免DLL地狱、多语言支持等.NET的新特性。 2.3. .NET 企业版服务器.NET企业服务器是Microsof开发平台开始发展的第一步。虽然.NET 企业服务器不能显式地利用运行库和类库,但却构成了创建企业商业解决方案地稳固基础。.NET企业服务器包括:l SQL Server 2000l Exchange 2000 Serverl Commerce Server 2000l Host Integration Server 2000l BizTalk Server 2000l Internet Secur
44、ity and Acceleration Server 2000l Application Center 20002.3.1. SQL Server 2000SQL Server 2000 是Microsoft的企业数据库管理系统。建立在SQL Server 7.0成功基础上的SQL Server 2000 是一个具有健壮性、高可伸缩性、支持XML的数据库,可使应用开发者大大缩短产品投放市场的时间。 SQL Server 2000 的特性为:l 在一台机器上可以同时运行多个SQL Server 2000实例。l 可与SQL Server 7.0并行操作,包括从同一个SQL Server Ent
45、erprise Manager 实例同时管理SQL Server 7.0和SQL Server 2000。l 按XML规范输入/输出数据。l 与OLAP引擎集成。l 极高的可伸缩性。2.4. .NET 语言和语言工具2.4.1. C程序语言概述C#语言是一门简单,现代,优雅,面向对象,类型安全,平台独立的一门新型组件编程语言。其语法风格源自C/C+家族,融合了Visual Basic的高效和C/C+强大,是微软为奠定其下一互联网霸主地位而打造的Microsoft.Net平台的主流语言。以下简单介绍C# 程序语言各种特点。2.4.1.1. 简单C#具有C+所没有的一 个优势就是学习简单。该语言首
46、要的目标就是简单。很多功能(还不如说是缺少了C+的一些功能)有助于C#全方位的简单。在C#中,没有C+中流行的指针。即那里不允许如直接存取内存等不安全的操作。另外,C#弃用C+中的引用等其它操作符,仅使用单个操作符 .。现在一个程序员所需要理解的就是嵌套名字的注解了。C#使用统一的类型系统,屏弃了C+多变的类型系统。这种系统充许您把各种类型作为一个对象查看,它是一个原始类型还是一个full-blown 类。和其它编程语言相比,由于加框(boxing)和消框(unboxing)的机制,把简单类型当作对象处理并不能获得性能的改善。稍后将详细解释加框和消框,但基本上仅当需要时才使用对象访问简单类型这
47、种技术。C#同时也解决了存在于C+中已经有些年头的多余东西(redundancies)。这种多余包括常数预定义,不同字符类型等。鉴于多余表单已经从该语言中消失,故一般在C#中都可以使用表单了。2.4.1.2. 现代C#是为编写NGWS 应用程序的主要语言而设计。对于现代的应用程序,安全是首要的,C#也不会例外。它提供了元数据语法,用于声明下述NGWS安全模式的能力和许可。元数据是NGWS运行时的一个关键的概念。2.4.1.3. 面向对象C#当然支持所有关键的面向对象的概念,如封装、继承和多态性。完整的C#类模式构建在NGWS运行时的虚拟对象系统(VOS,Virtual Object System)的上层。定义类中的 方法默认是非虚拟的(它们不能被派生类改写)。主要论点是,这样会消除由于偶尔改写方法而导致另外一些原码出错。要改写方法,必须具有显式的虚拟标志。 这种行为不但缩减速了虚拟函数表,而且还确保正确版本的控制。使用C+编写类,可以使用访问权限(access modifiers) 给类成员设置不同的访问等级。C#同样支持private、protected 和public 三种访问权限 ,而且还增加了第四种: