已阅读1页,还剩72页未读, 继续免费阅读
(通信与信息系统专业论文)基于microsoftnet平台的互联网工程开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于m i c l o s o f tn e t 平台的互联阀工程开发 摘要 m i c r o s o f t n e t 是支持新一代互联网的系统平台。本文研究了基于此平台的 互联网工程开发。文中分析了互联网发展面临的问题,指出当前的互联网技术 无法实现不同网站之间业务的智能交互,这已经限制了互联网的进一步发 展。n e t 提出了基于x m l 的松耦合编程模式,在此模式下构建的x m lw e b s e r v i c e 能够让多个网站和服务商结成同盟,协调工作。本文介绍了n e t 技术及 其带来的影响,并简单的回顾了n e t 的发展历程。 n e tf r a m e w o r k 是n e t 平台的基础,它具有许多革命性的特点。基于,n e t f r a m e w o r k 的代码被称为m a n a g e dc o d e ,文中对m a n a g e dc o d e 的运行机制进行 了深刻的剖析。a s s e m b l y 和m e t e d a t a 是在n e t 平台中提出的新概念,它们使 类和代码模块都具有了自描述的特性。这种特性对于简化编程模型、提供多语 言集成、实现类型安全和解决版本冲突等许多方面都具有重要的意义。 a s e n e t 是n e t 中的w e b 开发平台,可以分为w e bf o r m 和x m lw e b s e r v i c e 两大类。w e bf o r m 为w e b 开发提供了一个全新的代码模型,它引入了 服务器端控件,并且使用事件驱动模型。这些使得w e bf o r m 在提供强大功能的 同时,简化了w e b 应用程序的开发。x m l w e bs e r v i c e 是n e t 的核心,本文对 这项技术进行了全面的阐述。 本文还概述了基于n e t 平台,采用w e bf o r m 技术开发的工程实例。文中 介绍了三层设计模型和相应的编程结构,同时还简述了在该工程中广泛使用的 “集合管理”技术和a d o n e t 技术。w e b 使用的通信协议是h t t p ,通过分析 该协议的工作过程,文中揭示了h t t p 是无状态的协议。c o o k i e 技术和基于 c o o k i e 的s e s s i o n 技术能够克服h t t p 的局限,保存跨页面的状态信息,本文对 这两种技术进行了详细的分析。 关键词;互联网;m i o r o s o f t n e t ;n e tf r a m e w o r k :a s p n e t :x m l w e bs e r v i c e : w e bf o r m ;s e s s i o n 2 基于m i c r o s o f t n e t 平台的互联网工程开发 a b s t r a c t m i c r o s o f t n e ti st h e p l a t f o r m f o rt h en e x t g e n e r a t i o n o fi n t e r n e t t h i s d i s s e r t a t i o ni sa b o u tt h ed e v e l o p m e n to fi n t e r n e te n g i n e e r i n gb a s e do n n e t t h e p r o b l e mo ni n t e r a c te v o l u t i o ni st h a tc u r r e n ti n t e m e tt e c h n o l o g yc a r l ts u p p o r tt h e i n t e l l i g e n t b u s i n e s si n t e r a c t i o nb e t w e e nw e bs i t e s ,w h i c hi st h eb o t t l e n e c ko f e l e c t r o n i cc o m m e r c e n e tp u t sf o r w a r dan e wl o o s e l yc o u p l e dm o d e lb a s e do n x m l t h ex m lw e bs e r v i c ec o n s t r u c t e di nt h a tm o d e lc a n p r o m o t e t h ec o o p e r a t i o n o fw e bs i t e sa n ds e r v i c ep r o v i d e r s n e ta n di t si n f l u e n c ea r ei n t r o d u c e d ,a n di t s p r o g r e s sp r o c e s si sa l s or e v i e w e d i nt h i sd i s s e r t a t i o n n e tf r a m e w o r ki st h ef o u n d a t i o no f ,n e t , w h i c hh a sm a n yr e v o l u t i o n a r y f e a t u r e s ,t h ec o d eb a s e do n n e tf r a m e w o r ki s m a n a g e dc o d e ,w h o s eo p e r a t i o n m e c h a n i s mi sa n a l y z e d a s s e m b l ya n dm e t a d a t aa r et h en e wc o n c e p t s ,w h i c hm a k e c l a s s e sa n dm o d u l e ss e l f - d e s c r i b e d t h es e l f - d e s c r i p t i o ni st h ek e yt op r o g r a mm o d e l s i m p l i f i c a t i o n ,m u l t i l a n g u a g ei n t e g r a t i o n ,t y p es a f e t ya n ds o l v i n gv e r s i o nc o n f l i c t 。 a s r n e ti st h ew e bp l a t f o r no f n e t - w h i c hi n c l u d e sw e bf o r ma n dx m l w e bs e r v i c e w e bf o r mp r o v i d e san e wc o d em o d e lf o rw e bd e v e l o p m e n t s e v e r c o n 订0 1a n de v e n t d r i v e nm o d e la r et h ep o w e r n tc h a r a c t e r i s t i c so fw e bf o r m w h i c h s i m p l i f i e d w e b d e v e l o p m e n t x m lw e bs e m i t e i st h ec o l eo f n e t t h i s d i s s e r t a t i o ni n t r o d u c e si ti nd e t a i l t h i sd i s s e r t a t i o n p r o v i d e sp r a c t i c a lp r o j e c t sd e v e l o p e db yw e bf o r mb a s e d o n n e t t h r e e - t i e rd e s i g nm o d e la n dp r o g r a ma r c h i t e c t u r ea r ep r e s e n t e di nt h i s d i s s e r t a t i o n c o l l e c t i o n m a n a g e m e n t a n da d o n e tu s e di nt h i s p r o j e c t a r e i n t r o d u c e d t h ep r o t o c o lu s e db yw e bi sh t t p b a s e do nt h er e v i e wo f o p e r a t i o n c o u r s e ,i t i s i n d i c a t e dt h a th t t pi sas t a t e l e s s p r o t o c o l ,c o o k i ea n ds e s s i o n t e c h n o l o g i e sc a no v e r c o m et h er e s t r i c t i o no fh t t pi ns t a t ep r e s e r v a t i o n w h i c ha r e d e e p l ya n a l y z e di nt h i sd i s s e r t a t i o n k e yw o r d s :i n t e r n e t m i c r o s o f t n e t ;n e tf r a m e w o r k :a s p n e t ;x m lw e b s e r v i c e ;w e bf o r m :s e s s i o n 基于m i c r o s o f tn e t 平台的互联网工程开发 第一章绪论 1 1 引言 著名的网络专家d o u g l a se c o m e r 曾经在1 9 9 5 年出版的i n t e m e t 导引一 书中向人们提出这样的问题“i n t e m e t 时代已经来临,您是否做好了迎接它的准 备? ”。伴随着互联网( i m e m e t ) 的高速发展,我们既经历过“信息时代”美好 前景带给人类的无限激情,也体验过“网络经济”泡沫破灭留给人们的深刻反 思。当前,全球共有几亿人口正在使用互联网,网上交易的总金额也以百亿美 元来计算,提供各种服务的网站更是难以统计。与此同时,互联网的进一步发 展也正在面临着严峻的挑战。 当前的互联网在很大程度上还在模仿旧式大型机的工作方式,尽管有高级 计算机提供的强大运算能力和光纤系统提供的充足带宽,大量的信息还是被保 留在中央数据库里,用户必须依靠网络服务器来完成所有的上网操作,这酷似 老式的分时复用系统。网站都好似一个个孤立的小岛,只能由单个的网站向单 个用户提供有限的服务,很难创建可以安全跨越防火墙的系统,不能实现合作 伙伴之f 司业务的智能交互,不同的网站之间并不能按照用户的想法进行有意义 的交流。而且,浏览器( b r o w s e r ) 作为用户使用网络的主要工具非常适于浏览 信息,却难于对信息进行编辑、分析和复制。 人们都在憧憬他们的生活会由于互联网的存在而焕然一新,期待着互联网 能够成为“新经济”的信息平台,各种商务活动都能够基于互联网安全、高效 的开展。但是现有的互联网技术由于存在以上的问题,并不能很好的支持这些 设想,许多网站只能无奈的专注于视觉吸引力,而不是实用性,缺乏实用的互 联网注定会风雨飘摇。至今,人们依然对“c o m ”这一风靡一时的经济现象心 有余悸,仍然对“纳斯达克( n a s d a q ) ”的崩盘记忆犹新。但是,每个人都相 信,这些困难仅仅只是互联网潜能完全迸发之前的阵痛,互联网总是会向前发 展,会从根本上改变人类的生活方式。面对互联网发展的技术瓶颈,世界上各 大计算机厂商都提出了自己的解决方案。其中,m i c r o s o f t 的n e t 和s u n 的o n e ( o p e n n e t w o r ke n v i r o n m e n t ) 是两种最具代表性的技术。 从2 0 0 0 年6 月,微软公司白皮书 n e t 让新一代互联网变成现实的发 表,到2 0 0 2 年1 月n e t f r a m e w o r ks d k 最终版的发布,n e t 技术已经由设想 转变成了现实。相比之下,s u n 的o n e 技术还很不成熟。但是,勿庸置疑的 是新一代的互联网已经在向人类走来。在此,作者也要提出这样的问题“新一 代的互联网已经来临,您是否做好了迎接它的准备? ” 基于m i c r o s o f tn e t 平台的互联网工程开发 1 2 n e t 技术 1 2 1 n e t 概述 n e t 是m i c r o s o f t 的x m l w e bs e r v i c e 平台。x m lw e bs e r v i c e 是为应用 程序提供数据和服务的逻辑单元。无论每个x m l w e b s e r v i c e 如何实现,应用 程序都可以通过诸如h 1 v r p 、x m l 、s o a p 和w s d l 等标准w e b 协议和数据 格式来访问x m l w e b s e r v i c e 。x m l w e bs e r v i c e 结合了组件技术和w e b 技术 中优秀的方面,是n e t 编程模型的基石。 n e t 的基本理念就是:不再关注连接互联网的单个接入设备和服务商,而 是要实现所有接入设备和服务商协同工作,提供更加多样的服务。人们将能够 按照自己的想法来整合各种x m lw e bs e r v i c e ,把多个企业提供的产品与服务无 缝地嵌入到自己的方案中。这样,科技才能以人为本,让技术更好的适应人类, 而不是人们千方百计的去适应技术。 在n e t 技术之前,w i n d o w s 平台的应用程序开发模型是基于多层技术( n t i e r t e c h n o l o g y ) 的w i n d o w sd n aa r c h i t e c t u r e ( w i n d o w s d i s t r i b u t e di n t e r n e t a p p l i c a t i o n sa r c h i t e c t u r e ) ,在这个开发模型中广泛的使用了c o m d c o m ( c o m p o n e n to b j e c tm o d e l d i s t r i b u t e dc o m ) 技术。回顾w i n d o w sd n a a r c h i t e c t u r e ,应当说c o m 技术还是比较成功的。但是,随着互联网的迅速发 展,d c o m 已经无法满足需要。当越来越多的企业接入互联网,不同企业之间 通过互联网交互的需求越来越强烈。与此同时,各个企业为了保护内部网络的 安全,都在企业网的边缘构建了防火墙( f i r e w a l l ) 。然而,d c o m 和防火墙这 两种技术并不能很好的兼容。另外,对于w i n d o w s 以外的平台,w m d o w sd n a a r c h i t e c t u r e 很难发挥作用。因此,n e t 技术的出现就有了其在技术上的必然性。 n e t 采用的是基于x m l 的松耦合编程模式,在此模式下构建的x m lw e b s e r v i c e 提供了内在的机制,能够让所有网站和服务商结成同盟,协调工作。在 二十世纪。通用标准零部件的引入加速了工业革命,可以预期x m l w e bs e r v i c e 会在新的世纪里推动新一代互联网的成长。人们将能够通过一整套由新型软件 构成的整体服务程序来管理自己的生活和工作。如果把互联网看作是一个信息 的海洋,那么o o m 将是其中的“孤岛”,n e t 就是要把这些孤岛连接起来搭建 第三代互联网平台。 对于普通的用户,n e t 意味着简单化的整体服务,对用户隐私和数据的控 制权将重新回到用户的手中。无论通过个人电脑、便携设备还是信用卡,用户 都可以随时随地的接收、编辑和发送统一同步的信息查看丰富的在线和离线 垂十m i c r o s o f tn e t 十台的互联删上午呈卅发 资料。对于企业,n e t 意味着强大的信息管理和电子商务工具,可以在基于企 业内部网和互联网的服务程序之间灵活地切换,为建立动态商务伙伴关系提供 支持。对于软件开发商,n e t 意味着他们将得到更多的机会,创造出更多革命 性的在线服务和新业务。同时,开发商可以将网络中现存的x m lw e bs e r v i c e 模块进行个性化再设计,然后应用到自己的软件产品中,就象当前在开发应用 软件时不需要自己编写打印机驱动程序一样,程序员可以集中精力使他们的产 品更有特色。总有一天,所有的应用软件将被设计成一种服务,可以在网上订 购。这将使软件开发商能够提供更好的客户服务、技术支持和计算机病毒的防 护,还可以更方便的从用户那里获得对产品开发的意见反馈。 n e t 平台包括以下四个组成部分:n e t 服务器组、开发工具、智能客户端 和x m lw e bs e r v i c e s 。 1 n e t 服务器组 毫无疑问,n e t 平台需要安全可靠、功能强大的服务器来支撑。n e t 服务 器组主要包括:服务器级别的操作系统和用于搭建n e t 平台的一些企业级服务 器。 服务器级别的操作系统主要是w i n d o w s2 0 0 0s e r v e rf a m i l y ,以及它的下一 代产品w i n d o w s n e ts e r v e rf a m i l y 。其中,w i n d o w s n e ts e r v e rf a m i l y 包括4 种不同的产品:w e bs e r v e r 、s t a n d a r ds e r v e r 、e n t e r p r i s es e r v e r 和d a t a c e n t e r s e r v e r 。 企业级服务器主要包括: a p p l i c a t i o nc e n t e r2 0 0 0 :用来部署和管理具有高度可用性和可伸缩性的 w e b 应用程序。 b i z t a l ks e r v e r2 0 0 0 :用来创建基于x m l 的业务流程,这些流程可以跨 越不同的应用程序和不同的组织。 c o m m e r c es e r v e r2 0 0 0 :用来快速创建电子商务解决方案。 c o n t e n t m a n a g e m e n t s e r v e r2 0 0 1 :用来管理商务站点的动态内容。 e x c h a n g e s e r v e r2 0 0 0 :用来实现通信和协作。 h o s t i n t e g r a t i o ns e r v e r2 0 0 0 :用来实现与大型机之间数据和程序的通信。 i n t e r n e ts e c u r i t ya n da c c e l e r a t i o ns e r v e r2 0 0 0 :用来实现安全、快速的 i n t e m e t 连接。 m o b i l ei n f o r m a t i o ns e r v e r2 0 0 1 :用来实现对于手机等移动设备的支持。 s h a r e p o i n t p o r t a ls e r v e r2 0 0 1 :用来搜寻、共享和发布商务信息。 s q l s e r v e r2 0 0 0 :用来存储和管理结构化的x m l 数据。 基于m 1 c r o s o f tn e t 平台的且联网工程开发 2 开发工具 使用n e tf r a m e w o r k 和v i s u a ls t u d i o n e t 可以创建、部署和运行x m lw e b s e r v i c e s ,它们是,n e t 平台上的主要开发工具。n e tf r a m e w o r k 包括三个组成 部分:c l r ( c o m m o nl a n g u a g er u n t i m e ) 、c l a s sl i b r a r y 和a s r n e t 。它还有 一个适合低配置平台使用的版本n e tc o m p a c tf r a m e w o r k 。v i s u a ls t u d i o n e t 是n e t 平台上的集成开发环境( i d e ) ,可以用来创建基于x m l w e bs e r v i c e 的 应用程序。当前,在v i s u a ls t u d i o ,n e t 中支持3 种编程语言c # ( 读作“cs h a r p ”) 、 v i s u a l c + + n e t 和v i s u a l b a s i c n e t 。其中,c # 是一种新推出的编程语言,具有 很多优秀的特点,非常适合n e t 平台的开发。 3 智能客户端 智能客户端是指能够访问x m lw e bs e r v i c e 的客户端设备和设备上的软 件。n e t f r a m e w o r k 能够支持开发人员开发出应用于智能客户端的应用程序。 客户端设备有很多种类,例如:p c 、t a b l e tp c 、笔记本电脑( l a p t o p ) 、工 作站( w o r k s t a t i o n ) 、手持设备( h a n d h e l dc o m p u t e r ) 、移动电话( m o b i l ep h o n e ) 以及x b o x 游戏终端等。这些设备被称为“智能”( s m a r t ) ,是因为它们能够访 问x m l w e bs e r v i c e 。用户可以在任何时间、任何地点,使用这些设备按照自己 的意愿来获得各种服务。 客户端软件主要是指运行在客户端设备上的软件系统,它综合了i n t e r n e t 和 w i n d o w s ,可以访问n e t 平台上的x m lw e bs e r v i c e 。客户端软件主要包括: w i n d o w sx p 、w i n d o w sx pe m b e d d e d 和w i n d o w sc e n e t 。其中,w i n d o w sx p 主要应用于台式机和笔记本电脑,面向家用和商务办公。w i n d o w sx pe m b e d d e d 是w i n d o w sx p 的组件化版本,用于一些类似于电视机顶盒的瘦客户端设备。 它可以利用许多w i n d o w sx p 的特性,使一些基于x 8 6 微处理器的智能设备迅 速投放市场。w i n d o w sc e n e t 是一种稳定耐用的实时操作系统,用于一些类 似于手持设备的小尺寸智能客户端。w i n d o w sc e n e t 是w i n d o w sc e3 0 的升 级版本,它除了使设各可以访问n e t 平台,还具有无线通信和多媒体的能力。 4 x m lw e bs e r v i c e s 搭建下一代互联网需要全世界信息产业的共同支持,提供丰富的x m l w e b s e r v i c e s ,将相关的x m lw e bs e r v i c e 松耦合在一起就可以实现特定的功能。 m i c r o s o f t 己经发布了一套提供核心功能的x m lw e bs e r v i c e s ,被称作“n e t m y s e r v i c e s ”。n e tm ys e r v i c e s 基于m i c r o s o f tp a s s p o r t 用户鉴权系统,采用以数据 为中心的方式提供以用户为中心的服务。当前,n e t m ys e r v i c e s 的发行版本是 b e t a ,共包括了“n e tp r e s e n c e ”等1 4 种核心服务。 基于m i c r o s o f t n e t 平台的互联网工程开发 1 2 2 n e t 发展历程 从2 0 0 0 年6 月2 2 日m i c r o s o f t 发布n e t 战略至今,n e t 已经逐渐从一种 设想发展成为由众多产品和标准支持的革命性技术。下面将简要的回顾一 下n e t 技术的发展历程。 2 0 0 0 年6 月2 2 日,白皮书ap l a t f o r mf o rt h en e x tg e n e r a t i o ni n t e m e t 的发布标志着m i c r o s o f t n e t 战略的启动。 2 0 0 0 年6 月2 6 日,发布实用强大的面向对象语言c # 。 2 0 0 0 年7 月11 日,在p d c2 0 0 0 ( m i c r o s o f tp r o f e s s i o n a ld e v e l o p e r s c o n f e r e n c e ) 会议上,发布n e tf r a m e w o r k 和v i s u a ls t u d i o n e t 的第一 个测试版本。 2 0 0 0 年9 月1 日,在m i c r o s o f t 的2 5 周年纪念仪式上,回顾了从d o s 到w i n d o w s ,再到n e t 的整个发展过程。 2 0 0 1 年3 月1 9 日,发布“h a i l s t o r m ”x m lw e bs e r v i c e s 。 2 0 0 1 年9 月,“h a i l s t o r m ”被更名为“n e tm ys e r v i c e s ”。 2 0 0 1 年1 1 月1 2 日,发布w i n d o w s n e ts e r v e r b e t a3 测试版。 2 0 0 1 年1 2 月1 3 日,国际组织e c m a ( e u r o p e a nc o m p u t e r m a n d f a c t u r e r s a s s o c i a t i o n ) 批准了由m i c r o s o f t 提出的c # 和c l i ( c o m m o nl a n g u a g e i n f r a s t r u c t u r e ) 规范,使它们正式成为了工业标准。 2 0 0 2 年1 月1 5 日,发布n e tf r a m e w o r k 最终版( f i n a l ) ,其版本号为 v 1 0 3 7 0 5 。 2 0 0 2 年2 月1 3 日,发布v i s u a ls t u d i o n e t 正式版。 随着用来支撑n e t 平台的技术和产品不断成熟,n e t 技术将在2 0 0 2 年发 展到一个全新的阶段。与此同时,作为m i c r o s o f t n e t 技术的主要竞争对手,s u n 的o n e 技术虽然起步稍晚,但是它的发展也很迅速。在硬件领域,正是由于有 了a m d 的存在,i n t e l 才会在不断提高i n t e lc p u 性能的同时,大幅度的降低其 产品的价格,从而导致了p c 机的快速普及和发展。希望m i c r o s o f t 和s u n 在 x m lw e b s e r v i c e 领域的竞争同样也会大大的促进下一代互联网的健康发展。 1 3 小结 ;本章介绍了为什么会出现m i c r o s o f t n e t 技术,并且概述了什么是 i v i c r o s o f t n e t 技术以及它对于整个信息产业的影响。对于n e t 平台构成的介 _ 绍勾勒出了m i c r o s o f t n e t 技术的整体轮廓。最后,还简单的给出了 m i c r o s o f t n e t 技术的发展历程。 基于m i c r o s o f tn e t 平台的互联网工程开发 第二章n e tf r a m e w o r k 2 1 概述 2 1 1 构成 n e tf r a m e w o r k 是一个平台,用来创建、部署和运行x m lw e bs e r v i c e 以 及其它应用程序。n e tf r a m e w o r ks d k ( s o f t w a r ed e v e l o p m e n tk i t ) 是由 m i c r o s o f t 发行的n e tf r a m e w o r k 软件工具包,其中除了n e tf r a m e w o r k 的全 部组件以外,还包括了开发n e tf r a m e w o r k 应用程序所必须的工具、代码实例 ( s a m p l e s ) 和相关文档。 n e tf r a m e w o r k 包括三个主要的组成部分:c l r ( c o m m o nl a n g u a g e r u n t i m e ) 、c l a s sl i b r a r y 和a s r n e t 。其中,c l r 和c l a s sl i b r a r y 构成了n e t 平 台的核心。实际上,w i n d o w s 操作系统本身就是一个由r u n t i m e 引擎和函数库 构成的集合,向应用程序提供各种服务。图2 1 显示了基于n e tf r a m e w o r k 的 编程模型。 图2 - 1 n e tf r a m e w o r k 应用程序开发模型 1 。c l r c l r 是n e tf r a m e w o r k 的基础,用来支持代码的运行,提供内存和线程管 理等核心系统服务,并且严格的校验代码安全。在n e tf r a m e w o r k 中,源代码 首先被编译器编译成m s i l ( m i c r o s o f ti n t e r m e d i a t el a n g u a g e ) 代码,在程序运 行的时候,c l r 中的即时编译器( j u s t i n ,t i m ec o m p i l e r ) 再将m s i l 代码即时 编译成本地的机器语言在对应的系统中运行。基于c l r 开发的代码被称为 m a n a g e dc o d e ,而运行时不需要c l r 的代码就被称为u n m a n a g e dc o d e 。另外, m i c r o s o f ts q ls e r v e r 和i s ( i n t e m e ti n f o r m a t i o ns e r v i c e s ) 等高性能的企业级服 务器对于c l r 也有非常好的支持 2 c l a s sl i b r a r y c l a s sl i b r a r y 是一个由很多“类”构成的类库,它的构建经过了很好的策划, 并且组织得非常有条理。这个类库和c l r 紧密集成,功能全面而又强大,同时 6 垩三! ! 三= ! ! ! 垒:! 生兰鱼堕呈壁旦三堡堑茎 其理解、记忆和使用非常容易。对于在w i n d o w s 平台上使用w i n 3 2s d k 编程的 程序员,访问操作系统的功能要使用一系列独立的a p l ( a p p l i c a t i o np r o g r a m i n t e r f a c e ) 函数。这些函数由一些d l l 文件提供,适合于类似c 语言的非面向 对象语言调用。然而,普通的程序员很难掌握这么多彼此相对独立的函数,并 且随着w i n 3 2a p i 的不断发展,逐渐加入的一些在名字和功能上都很相近的函 数就更是难于记忆和使用,例如:c r e a t e w i n d o w 和c r e a t e w i n d o w e x 就是对 典型的例子。因此,在从前基于w i n d o w s 的开发并不是很容易。现在n e t 平台提供的功能在c l a s sl i b r a r y 中被划分成不同的名字空间( n a r n e s p a c e ) ,每 个名字空间都是由相关功能的“类”组成。而且,利用面向对象技术中的“类 重载( o v e r l o a d ) ”可以实现使用相同的方法名来标识几个相近的功能,通过方 法参数的差异来区分不同功能。另外,面向对象技术提供的“继承( i n h e r i t a n c e ) ” 和“多态( p o l y m o r p h i s m ) ”对于合理构建类库也具有重要的作用。 3 a s p n e t a s e n e t 本身是一个完整的架构,使用它可以开发w e b 站点和基于m a n a g e d c o d e 的i n t e m e t 分布对象。a sp n e t 应用程序分为w e bf o r m s 和x m lw e b s e r v i c e s 两种,它们的发布都要通过i i s 来实现。在n e tf r a m e w o r kc l a s sl i b r a r y 中有专门的类用来支持a s p n e t 技术。在后面的章节中,将对a s e n e t 有更 加详细的论述。 2 1 2 特点 n e tf r a m e w o r k 继承了w i n d o w s 平台具有的优点,同时又引入了许多具有 革命性的新特点。下面将介绍一些n e tf r a m e w o r k 的重要特点。 1 一致简化的编程模型 在以前的w i n d o w s 平台中,操作系统提供的功能有的是通过d l l 函数实现, 有的是通过c o m 对象实现。而n e tf r a m e w o r k 提供的所有底层服务都是采用 一种通用的面向对象编程模型。在基于w i n 3 2a p i 和c o m 技术的w i n d o w s 编 程中,一个优秀的程序员要掌握诸如r e g i s t r y 、g u i d s 、a d d r e f 和h r e s u l t s 等许多不易理解的概念。而n e tf r a m e w o r k 的编程模型则要简单得多,没有这 些难懂的概念。重要的是,并非n e t 把它们抽象成了其它的概念,而是在n e t f r a m e w o r k 当中,这些概念根本就不存在。 2 克服了d l l 版本冲突 w i n d o w s 平台的程序员应当都很熟悉d l l h e l l ( d l l 地狱) 这个名词。它 是指在安装应用程序的时候,新应用程序的组件可能会覆盖已经安装好的其它 兰主兰! ! :! ! 竺竖:! ! ! ! 鱼塑皇壁塑三堡墅茎 应用程序的组件,从而引起其它应用程序工作不正常甚至停止工作。在n e t 架 构中,属于不同应用程序的组件被分离开,每个应用程序总是加载自己的组件。 一旦应用程序安装成功,那么它就会永远正常的运行。因此,在n e t 中不再存 在d l l h e l l 。 3 应用程序可以运行于多个平台( e x e c u t eo nm a n yp l a t f o r m s ) 用户编写的应用程序,只要被编译成基于n e tf r a m e w o r k 的m a n a g e d c o d e , 那么它就可以运行在任何一个支持c l r 的平台上,包括非w i n d o w s 平台。当前, 有一个代号为m o n o 的项目,就是在开发l i n u x 平台上的n e tf r a m e w o r k 。因 此,在不久的将来,w i n d o w s 平台上开发的应用程序就可以非常轻松的移植到 其它的操作系统平台。 4 语言集成( l a n g u a g ei n t e g r a t i o n ) c o m 技术允许不同的语言进行交互,而n e t 允许不同的语言集成在一起。 例如:在n e t 中可以使用v i s u a lb a s i c 编写一个父类,然后再使用c # 编写一 个继承自那个父类的子类。同时,c l r 还支持跨语言的联合调试( d e b u g ) 。n e t 技术能够做到这一点是由于它提供了一个c o m m o nl a n g u a g es p e c i f i c a t i o n ,其中 定义了n e t 平台中各种编译器必须实现的方方面面,从而保证了各种不同的语 言能够真正的集成。微软提供的n e t 编译器有:c # 、v i s u a lb a s i c 、j s c r i p t 和 m a n a g e d e x t e n s i o n sf o rc + + 。就c l r 而言,所有的语言都是平等的,任何基于 c l r 的语言都应当具有c l r 的特性。在4 种编译器中,只有c + + 的编译器能够 生成u n m a n a g e d c o d e 。另外,其它厂商也可以提供基于c l r 的其它种类编译器。 5 自动资源管理( a u t o m a t i cr e s o u r c em a n a g e m e n t ) 对于文件、内存、显示、网络连接和数据库资源的管理需要经验和技巧, 不正常释放系统资源是一个常见的错误,这将导致应用程序运行不稳定,甚至 会影响其它程序的运行。n e tf r a m e w o r k 的资源管理机制是由c l r 自动的分 配、跟踪和释放资源,从而保证永远不会出现资源的泄漏。 6 类型安全( t y p es a f e t y ) 所谓类型安全就是指,所有被分配的对象都必须通过正确的方式进行访问。 c l r 能够保证应用程序中所有的代码都是类型安全的。例如:若某方法的一个 输入参数被声明为接收4 个字节的值,那么c l r 将不允许该输入参数被当作8 字节的值来使用。同样,如果一个对象在内存中占据了l o 个字节,那么访问这 个对象的程序将无论如何也不能读取超过1 0 个字节的信息。另外,类型安全还 意味着程序的运行仅仅只能在方法的入口点( m e t h o de n t r y p o i n t ) 之间转移,不 垄主! ! ! :! ! ! ! ! :! ! ! 兰鱼堕兰壁堕三堡茎垄 能对内存空间进行任意的引用,也不能将程序转移到内存的任意位置运行。这 样就可以避免许多常见的编程错误,同时也可以防止利用“内存溢出( b u f f e r o v e r r u n ) ”进行系统攻击。 2 2m a n a g e dc o d e 运行机制 基于n e tf r a m e w o r k 的m a n a g e dc o d e 运行要经过以下的过程。 1 编译器将源文件编译成m s i l 在应用程序的开发过程中,当编译生成m a n a g e dc o d e 的时候,编译器将源 文件编译成m s i l ( m i c r o s o f ti n t e r m e d i a t el a n g u a g e ) 代码。m s i l 是由一系列独 立于c p u 的指令构成,这些指令可以被高效的转换为本地代码。m s i l 指令提 供的功能包括加载、存储和初始化对象,调用对象的方法,进行算术和逻辑运 算,控制程序流程,直接内存访问,异常处理等方面。由于m s i l 具有操作对 象和管理异常等功能,所以它要比大多数的机器语言更高级。与其它机器语言 类似,m s i l 也可以使用汇编语言编写,使用s d k 中的汇编程序i l a s m e x e 就 可以把汇编语言编写的程序转换成由m s i l 组成的程序。当然,还有一个反汇 编程序i l d a s m e x e ,可以实现反向的转换。 当编译器生成m s i l 的时候,会同时产生m e t a d a t a 。m e t a d a t a 描述了代码中 所有的类,包括了类的定义、类中成员的s i g n a t u r e 、对其它类成员的引用以及 在运行的时候c l r 需要的其它数据。编译器生成的m s i l 和m e t a d a t a 被放在一 个p e ( p o r t a b l ee x e c u t a b l e ) 文件中。这个p e 文件基于m i c r o s o f tp e 和c o f f ( c o m m o n o b j e c t f i l ef o r m a t ) 两个标准,这两个标准一直都被用于规范可执行 文件的内容。将m e t a d a t a 与m s i l 放在同一个文件中,保证了代码的自描述, 从而不再需要t y p el i b r a r y 和i d l ( i n t e r f a c e d e f i n i t i o nl a n g u a g e ) 。在程序运行 的时候,c l r 可以定位到m e t a d a t a ,并将它们提取出来使用。 2 j i tc o m p i l e r 将m s i l 代码编译成本地代码并运行 在程序运行之前,m s i l 代码会被c l r 中的即时编译器( j u s t - i n t i m e c o m p i l e r ) 即时编译成指定c p u 对应的本地代码。由于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高考考前预测卷化学·理综拆分(课标全国卷)(考试版及全解全析)
- 数码印花挡车工岗前复测考核试卷含答案
- 地毯络筒工创新应用考核试卷含答案
- 景泰蓝掐丝工安全风险考核试卷含答案
- 铸轧机操作工操作安全强化考核试卷含答案
- 玻璃制品模具工安全技能测试竞赛考核试卷含答案
- 轧制原料准备工岗前前瞻考核试卷含答案
- 工艺扎染工岗前岗位责任制考核试卷含答案
- 妥拉美替尼临床应用考核试题
- 汽车维修厂服务流程规范
- 2024-2025学年江苏省泰州市兴化市四校高二下学期4月期中联考数学试题(解析版)
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解(5套)
- 2025年11月济南轨道交通集团运营有限公司社会招聘笔试参考题库附带答案详解(10套)
- 2025年杭州银行笔试题库及答案
- 2025年北京市中考数学真题试卷及答案
- 120急救站工作汇报
- 义警规章管理制度
- 广东省高州市全域土地综合整治项目(一期)可行性研究报告
- 教育事业十五五发展规划
- CJ/T 409-2012玻璃钢化粪池技术要求
- T/CNPPA 3017-2021塑料和橡胶类药包材自身稳定性研究指南
评论
0/150
提交评论