当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > Shared Source CLI Essentials第一章第一部分

ASP.NET
使用函数传递参数来执行相应的数据库操作
如何实现在窗体和窗体之间进行传递数据
ASP.NET中文显示之两种解决方法
ASP.NET、JSP及PHP之间的抉择
ASP.NET 2.0发送电子邮件中存在的问题
谈谈HtmlControl与WebControl的区别与用途
从ASP.NET 1.1升级到ASP.NET 2.0要考虑的Cookie问题
通过系统配置来提高ASP.NET应用程序的稳定性
妙用ASP2.0中的URL映射改变网址
AJAX实现web页面中级联菜单的设计
ASP.NET跨页面传值技巧总结
再议ASP.NET DataGrid控件中的“添加新行”功能
Geometry 对象浅析
重构CollapsibleSplitter
如何利用.NET Framework使用RSS feed
ASP.NET获取IP与MAC地址的方法
在ASP.NET 2.0中使用样式、主题和皮肤
ASP.NET中为GridView添加删除提示框
ASP.NET 2.0,无刷新页面新境界
看看一个.net版对话框控件

ASP.NET 中的 Shared Source CLI Essentials第一章第一部分


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 37 ::
收藏到网摘: n/a

第一章 CLI组件模型介绍21世纪的程序员有很多烦恼。首先,优秀的软件比以前复杂多了。仅仅提供一个基于终端的简单命令提示符或一个字符用户界面已经不能被用户接收了;现在的用户需要包括各种优秀虚拟功能的丰富的图形化用户界面。软件相关的数据,已经很少有结构适合存储在本地系统的普通文件中的了;现在的情况是,计算机用户已经十分依赖软件所提供的查询和报表的功能,而为了满足用户的这些需求,常常必须使用关系数据库。而不断变化的业务情况要求对长期存储的数据进行的经常的修改也要求必须使用关系数据库。从前单机环境就能够满足应用程序的部署需要,在这种环境中是通过文件或剪贴板来实现数据共享的;而现在这个星球上的大部分计算机都联入了网络,因此在这些计算机上部署的软件不但必须要具有网络功能,还必须能够适应不断变化的网络环境。简而言之,软件开发早已不再是技术高手单枪匹马就能够完成任务的职业了,它已经变成了一种基于相当复杂的底层框架的集体行为了。现在的程序员已经不能享受使用贴近处理器的底层工具(例如汇编或C编译器)来从头完成一个完整的软件工程的奢侈了。也很少有人有时间或耐心来编写中间层的框架了,即使是象HTTP协议的实现或者完成一个XML解析器这样简单的工作都很少有人来作,而具有调节底层框架来使系统达到所需的性能和质量的技能的人就更少了。现在软件开发最主要的重心放在了可重用代码和可重用组件上。操作系统加上少量的开发库这种方式已经不能满足软件开发的需要。因此,不管你喜不喜欢,今天的程序员都必须依赖多个不同来源的代码来支持他的应用程序,而且这些代码要能够正确可靠的协同工作。为了适应当前软件开发模式的变化趋势,出现了一种新的软件开发方法学――基于组件的软件开发,它采用组合多个独立的代码模块的方式来创建应用程序。通过组合多个来源的组件,可以快速和高效的创建应用程序。然而,这门技术对编程工具和软件开发过程提出了新的需求。例如,因为依赖于其它由不被信任或不知名的开发者开发的组件,所以程序执行时的严格控制和在运行时对代码的验证成为软件正常运行最基本的要求。在我们这个遍布网路连接的时代,基于组件的复杂软件常常不需要客户端的操作就能动态更新,而有时这些更新可能是恶意的。如果询问那些计算机病毒的受害者保护她的机器和数据的干净是否必要,或者和一个不熟练的计算机使用者谈论那些他们所经历的,由于安装和卸载应用程序而导致系统莫名其妙的不稳定的情况,您就会发现基于组件的软件造成的问题几乎和它带来的好处一样之多。多年来,对基于组件的软件开发的商业宣传和所预期的高效,被如何安全的将不同来源的组件组合起来工作的复杂性所抵消了。然而,最近10年中,我们看到了寄宿托管组件的虚拟执行环境在商业上的成功。托管组件是可以独立开发和部署的简单软件部件,不过它们可以在应用程序中安全的共存。托管组件的”托管”,是指它们需要一个虚拟执行环境来提供运行时和执行服务。为了满足组件的需要,这些环境着重致力于提供一个重点在于保证组件之间的安全合作和协作的结构良好的模型,而不只是简单的暴露它下层的处理器和操作系统的物理资源。如图1-1所抽象描述的那样,虚拟执行环境和托管组件为三个不同的软件群体提供了很多好处:程序员,开发编程工具和编程库的人,以及那些管理在虚拟执行环境中运行的软件的管理员。对于那些使用托管组件开发复杂应用软件的程序员来说,开发工具和编程工具库的出现减少了花费在集成各组件和管理组件间通讯的任务上的时间,提高了生产率。对于工具软件开发者来说(例如编译器开发者),支持框架和一个清晰,说明详细的虚拟机的出现可以减少花费在框架和解决互操作性上的时间,而留出更多的时间来开发工具软件。(high-definition, carefully specified virtual machine??)最后,管理员和计算机用户可以从使用单一的运行时框架和打包模型中获益,并因此更好的控制计算机,所有这些都和特定的处理器和操作系统无关。 图1-1 当寄宿在一个虚拟执行环境中时,各组件可以安全的进行协作。 CLI虚拟执行环境 ECMA通用语言框架是一个虚拟执行环境的标准规范。它描述了一个数据驱动的架构,在其中,语言无关的数据块以自装配件,类型安全的软件系统的形式被激活。驱动这个过程的数据,叫做元数据,开发工具用它来描述软件的行为,以及软件在内存中运行的特性。CLI执行引擎利用元数据来达到将各个来源的组件安全装载到一起的目的。各CLI组件在严格控制和监督下共存,然而它们也能够互相访问,可以直接访问哪些需要共享的资源。CLI是一个良好的平衡了可控性和灵活性的模型。 ECMA,欧洲计算机厂商联合会,是一个已有多年历史的标准化团体。除了发布它自己的标准之外,ECMA也和ISO(国际标准化组织)有着密切的关系,基于这种关系,CLI标准已经被认可为符合ISO/IEC 23271:2003标准,之后根据一篇科技报告,而成为ISO:IEC 23272:2003标准,C#标准也被认可为符合ISO/IEC 23271: