ImageVerifierCode 换一换
格式:DOCX , 页数:61 ,大小:55.60KB ,
资源ID:5795600      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5795600.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Net开发平台.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Net开发平台.docx

1、Net开发平台.Net开发平台.Net开发平台的发布标志着近十年来微软开发平台第一个重大的转变。这个开发平台包括一个用于加载和运行应用程序的新的软件基础结构( .NET Framework和 ASP.NET),一个新的开发环境(Visual Studio .NET),以及支持该结构的编程语言。微软希望随着这个新平台的发布,评论不再将这个平台作为朦胧的软件,而且开发者也将发现该平台使得 Windows上 Web应用程序(尤其是 Web Service)的开发更为容易。这样或许会使更多的开发者拥护公司的操作系统和服务器产品,并将他们从与 Java平台的竞争中吸引过来。微软的客户可以将该平台用作应用

2、程序的更可靠、更安全和更统一的标准,而微软的合伙伙伴则可以通过帮助为该平台创建早期的胜利来加强与公司的联系。不过,无论是客户还是合伙厂商都应该意识到,新的平台要求他们从根本上掌握新的应用程序编程接口和编程语言,而且它能将他们锁定在微软的操作系统和服务器产品上。 内容简介:微软为什么需要一个新的开发平台机会与风险 Web Services:是什么和为什么 .NET Framework Core CLR捕捉 Bug,使编程更轻松类库统一 Windows API 支持 Web Services使平台一致 ECMA标准和 Windows Lock-In .NET开发平台工具 .NET开发平台语言选择.

3、NET语言的经验规则 .NET开发平台与 J2EE的比较 Visual Studio .NET ASP .NET ASP .NET在哪些方面补充了.NET开发平台 ASP .NET的益处向 ASP .NET进发益处评价软件可获得性资源简介微软发布了.NET开发平台,这是自 1993年 7月随着 Windows NT3.0出现的 Win32 API后微软软件开发平台的第一次大升级。比起 Win16来,Win32提供了更多功能强大的 API,但没有对工具和技术进行引人注目的改变。与之不同的是,.NET开发平台在开发者用以创造应用程序的工具和技术上做了根本的改变。 .NET开发平台使得开发者创建运行

4、在 Internet Information Server (IIS)(互联网信息服务器)Web服务器上的 Web应用程序更为容易,它也使创建稳定、可靠而又安全的 Windows桌面应用程序更为容易。.NET开发平台包括以下内容: .NET Framework(架构),包括: Common Language Runtime(CLR)(通用语言运行环境),这是用于运行和加载应用程序的软件组件;新的类库,分级组织了开发者可以在他们的应用程序中用来显示图形用户界面、访问数据库和文件以及在 Web上通信的代码集。 .NET开发者工具,包括:Visual Studio .NET Integrated D

5、evelopment Environment(IDE)(Visual Studio .NET集成开发环境),用来开发和测试应用程序;.NET编程语言(例如 Visual Basic .NET和新的 Visual C#),用来创建运行在 CLR下并且使用类库的应用程序。 ASP .NET,一个取代以前的 Active Server Pages (ASP)的特殊类库,用来创建动态的 Web内容和 Web服务器应用程序,这些都将采用诸如 HTML、XML和 Simple Object Access Protocol(SOAP)(简单对象访问协议)等 Internet协议和数据格式。(有关该平台组件的

6、概貌,请参看“.NET开发平台”示意图。)微软为什么需要一个新的开发平台。微软希望能够藉此平台保留住它庞大的 Windows开发用户的基础,否则由于 Java向开发者所做的硬件与操作系统( OSs)无关性的承诺,这些用户群可能会转向其它的平台。开发者本身不会给微软(或任何其他针对此事的公司)带来很多收益。不过, Windows程序员是公司内对微软产品(例如 Windows本身)的极大的支持力量,而商用软件的开发者形成了向客户发售微软产品的重要渠道。如果微软可以让开发者在新的.NET开发平台下写应用程序的话,那么就会有更多的公司购买 Windows Server和.NET Enterprise

7、Server(.NET企业服务器),包括 SQL Sever 、Exchange、Share Point、Commerce Server以及 BizTalk等。微软尤其推重.NET开发平台用于开发一种新型的应用程序:Web Services,或者和 Web上其他应用程序交换 XML格式数据的服务器应用程序。(有关 Web Services的概貌,请参看“Web Services:是什么与为什么”。)微软认为 Web Services(为此公司已注册了名为 “XML Web Services”的商标)是公司将现有的、孤立的应用程序集成到更大的商务(以及 B2B)系统中的一种成本低而效用高的方法。

8、微软希望 Web Services成为吸引程序员在新的平台和产品上开发的“必有”的应用程序类型,正如带有图形用户界面的桌面应用程序吸引程序员在早期版本的 Windows上进行开发那样。微软本身也计划使用该平台开发它自己的公共 Web Services(称作 .NET My Services),它将给 Internet上的客户提供数据存储以及其他的功能。(有关微软关于自己商务的长期计划以及该计划中 .NET开发平台、 Web Services和.NET My Services的作用的概貌,请参看 2001年7月的研究报告 “Understanding .NET”(“理解.NET”。) .NET开

9、发平台.NET开发平台是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件,用该平台创建的应用程序在Common Language Runtime(CLR)(通用语言运行环境)(底层)的控制下运行。CLR是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。Web服务器应用程序通常

10、依赖于ASP.NET,一个处理Web请求的服务器端的库。ASP.NET又依赖一个用于发送和接收SOAP信息的Web Services库,以及一个用于以浏览器接收用户输入并动态地生成Web页面以示响应的Web用户接口(UI)(有时称作Web表单)。Windows桌面应用程序通过使用Win表单库(也称作Windows 表单)可以显示一个图形UI。最后,Visual Studio .NET提供了一个用于在该平台上创建应用程序的图形Integrated Development Ewironment(IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Vi

11、sual Basic .NET(VB.NET),Visual C+, Visual C#和JScrjpt .NET等。大量其它的.NET编程语言可以从第三方厂商获得。.NET开发平台是一组用于建立Web服务器应用程序和Windows桌面应用程序的软件组件,用该平台创建的应用程序在Common Language Runtime(CLR)(通用语言运行环境)(底层)的控制下运行。CLR是一个软件引擎,用来加载应用程序,确认它们可以没有错误地执行,进行相应的安全许可验证,执行应用程序,然后在运行完成后将它们清除。类库集提供了使应用程序可以读写XML数据、在Internet上通信、访问数据库等的代码。

12、所有的类库都建立在一个基础的类库之上,它提供管理使用最为频繁的数据类型(例如数值或文本字符串)的功能,以及诸如文件输入/输出等底层功能。Web服务器应用程序通常依赖于ASP.NET,一个处理Web请求的服务器端的库。ASP.NET又依赖一个用于发送和接收SOAP信息的Web Services库,以及一个用于以浏览器接收用户输入并动态地生成Web页面以示响应的Web用户接口(UI)(有时称作Web表单)。Windows桌面应用程序通过使用Win表单库(也称作Windows 表单)可以显示一个图形UI。最后,Visual Studio .NET提供了一个用于在该平台上创建应用程序的图形Integr

13、ated Development Ewironment(IDE)(集成开发环境)。程序员可以使用一种或多种.NET编程语言,来编写他们的代码,例如微软自己的Visual Basic .NET(VB.NET),Visual C+, Visual C#和JScrjpt .NET等。大量其它的.NET编程语言可以从第三方厂商获得。机会与风险新的.NET开发平台给合伙厂商和客户带来了新的机会与风险。对于合伙厂商而言,新的平台意味着建立或加强与微软之间的关系的一次机会。微软需要早期的胜利来为该平台提供动力,那些能够提供这样的机会的合伙厂商就有可能建立和培育与微软间的坚实的共进关系。例如,M将开始使用各种

14、 .NET技术(例如 Visual Studis.NET和.NET Framwork等)来发送它的四种重要的 Web Services:Job seeker Notification(求职者公告),Job Posting(职位公布),Job Searching(职位搜索),以及 Resume Posting (简历公布)。这优点类似于 Visio的方法,它采用对象链接与嵌入和 COM技术建立了与微软的伙伴关系,并且最终被微软购并。不过,新的平台对于现在的合伙厂商也是一种风险,因为它将重新布置游戏领域,迫使先前与之关系紧密的或从中受惠的合伙厂商在新平台上重新起步,这样就给了其他公司加入的机会。更

15、为重要的是,该平台建立的合作方机会根据价格分配,因为微软将为那些全盘采纳它的平台而摒弃其他公司产品的合作方保持最大的回报。Visio确立了完全使用 Windows 3 的目标,这使它可能已经丧失了与其他厂商建立关系,以便将它的产品卖给喜欢其他的 OS的客户的机会。新的平台将使公司的 IT部门受益,它使程序员可以在短时间内即可创建更为安全可靠、扩展性更强的应用程序。不过实际上,这要等到 .NET Framework可以使用以后,目前 IT部门还必须将 Framework 分配到多个桌面上,因为微软还没有将 Framework加载到它任何一个操作系统上,包括最近的 Windows XP。 .NET

16、开发平台实际上不会改变低层代码的开发(例如设备驱动程序,定位多个 OS(操作系统)的应用程序,或者用于 PC或游戏机的游戏程序),所以它对商用软件程序员的影响有限。不过,它将为 Windows应用程序,基于 Web的应用程序以及 Web Services(对于公司程序员而言这是一个分水岭般的事件),提供一个单一、细致的设计平台。对于公司来说,面临的风险就是.NET开发平台将把它们锁定 Windows OS和.NET Enterprise Servers(.NET企业服务器)上。这篇报告深入讨论了.NET开发平台,并且讨论了其关键组件,包括:拥有自己的 CLR和类库的.NET Framework

17、,新的工具和语言,以及 ASP .NET等。报告还分析了.NET平台可能产生的问题与提供的好处。 Web Services:是什么与为什么 Web Services是一个软件组件,它通过将消息以 XML格式进行编码,并将消息通过标准的 Internet协议(例如 Hypertext Transfer Prorocol (HTTP)(超文本传输协议)发送出去来与其它的应用程序进行通信。一个 Web Services类似于这样一个 Web站点:没有用户接口,向应用程序而非用户提供服务。 Web Services不从浏览器获得请求并返回相应的 Web页面,而是从应用程序接收 XML格式的请求消息,执

18、行任务,然后向应用程序返回 XML格式的响应消息。 IBM和微软一致提倡将 SOAP作为一种用于 Web services的消息标准。一条 SOAP消息如同一封信,由一个基于 XML格式的“信封”和载有消息数据的“正文”两部分组成,“信封”部分包含一个指明消息接收者地址的头部和一系列投递选项(例如加密信息)。(微软喜欢将此编程模型称作“XML Web Services”采用“ XML”意在强调其开放性。但是这个基于一套 World Wide Web Consortium(W3C)协议标准的模型,业界习惯上简单称其为“Web Services”。)微软和 IBM等其他供应商提倡将 Web Ser

19、vices作为用于 Internet上的互连应用程序通信的程序设计模型。这些公司相信通过 Internet相互连接的应用程序,将增强与它们的合作供应商和客户协同工作的商务能力。通过在一个现有的公司应用程序的顶层创建一个 Web Services层,各个组织可以允许外部系统通过 Internet(或企业Intranet)调用应用程序的功能,但却不必修改应用程序本身。例如,有几家公司正在创建 Web Services,来充当驻留在主机内的订单一入口应用程序的前端,这允许客户的订货系统通过Internet提交订单。作为公司内整合由各个部门独立开发的应用程序,以降低伴随公司合并与购并而来的IT整合费用

20、的方法,将 Web Services放在现有应用程序的顶层相当重要。微软也希望使用Web Services进入服务供应商领域,通过 Internet向付费客户提供必要的服务。计划中的服务首要的是.NET My Services,一套由微软管理的数据存储 Web Services,包括由单个用户输入的个人信息,例如信用卡号和日历安排。桌面和 Web服务器应用程序,如果获得了用户的许可,将通过 Web Services协议从那些 Internet上的数据库中取回信息。 .NET Framework核心所有在.NET开发平台上创建的应用程序运行都需要运行两个核心块: Common Language

21、Runtime(CLR)(通用语言运行环境),这是一个软件引擎,用来加载应用程序,确认它们可以没有错误地运行,进行相应的安全许可验证,执行应用程序,然后在完成后将它们清除。 .NET Framework类库,向程序员提供所需用来编写在 CLR的控制下运行的代码的软件组件。它们按照单一有序的分级组织提供了一个庞大的功能集从文件系统到对 XML功能的网络访问的每一样功能。 Web服务器应用程序也可以使用 ASP .NET,这个类库将在做详细解释。桌面应用程序不需要 ASP .NET。 CLR描述 Bug,使编程更轻松 CLR有两个主要的目标:提高应用程序的稳定性和安全性 减少应用程序开发者所必须写

22、的冗长而又易出错的底层代码的容量 这两个目标类似于诸如Sun和IBM等厂商试图用Unix和主机上的Java平台去解决的问题。为了解决 Windows上的这些问题,CLR对加载和执行应用程序的编程模型做了根本的改变。 CLR如何工作一个应用程序是作为称作汇编的文件或文件集进入 CLR的。这个汇编包是 MicrosoftIntermediate Languagl (MSIL)代码,CLR将其翻译成可执行的本机代码。由于可以对从MSIL到本机代码的应用程序翻译的控制,使得 CLR可以管理应用程序的执行并且防止各种问题的发生,因此也就有了术语可控制代码。 除了 MSIL代码,汇编还包含有详细描述了 M

23、SIL代码正确执行所需的各种相关数据类型的元数据。最后,汇编还包括一个清单一个列出了汇编中所有文件和软件组件的文档,该文档还指出 CLR在哪里可以找到具有应用程序运行所需组件的其它汇编。 为了加载一个应用程序,CLR使用汇编的清单来确定应用程序所需的汇编的正确版本。然后 CLR检查应用程序的全部汇编即,MSIL代码本身与描述它的元数据从而确认代码是“类型安全”的,这表明它只执行对恰当数据类型的恰当的操作(也就是说,它不会允许开发者使用一个整数作为一个函数指针),而且它只访问经过授权可以访问的内存位置。接下来 CLR加载应用程序的汇编中的MSIL,并且在此过程中,收集有关汇编的“证据”,例如:

24、它是从哪里下载或安装的 它需要执行什么功能(也就是说,它是否需要写文件或发E-mail)什么用户试图运行它 汇编是否拥有来自信任的开发者的数字签名,以及进行数字签名后汇编是否有改动。执行控制代码 Common Language Runtime (CLR)(通用语言运行环境)组件(以灰色显示)加载并运行应用程序。 (1)Class Loader(类加载器)将应用程序的汇编加载到内存中。汇编包括 Microsoft Intermediate LanguageMSIL代码、描述应用程序的汇编中的软件组件的元数据,以及其他应用程序所需的组件。 接下来,Class Loader使用应用程序汇编的元数据,

25、试图加载任何应用程序所需的组件的支持汇编。例如,它可能加载包含一个桌面应用程序所需的图形用户接口(GUI)控制 5 的汇编。Class Loader 使用 Versioning Polily(版本政策)(由应用程序的开发者或者系统管理员指定)采确定加载它所支持的哪些版本汇编。例如,一个 Versioning Policy可能要求只能使用特定版本的 GUI组件,即使有更多最近的版本可以利用。这消除了组件版本问题,这样的问题在过去十分普遍地存在于 Windows应用程序中。 (2)一旦应用程序和受支持的汇编加载后,Verifier就得检查它的内容以确保它是类型安全的(type-safe),并且确定

26、对于应用程序适当的安全许可。这是加强安全过程的第一步。 (3)本机编译器将 MSIL转换为可控制的本机代码,这是处理器相关代码,它知道如何与 CLR提供的服务,例如碎片整理(声明内存不再为应用程序所用)或 CLR安全系统(将增强应用程序的安全许可),进行行交互。 这些证据构成了.NET Framework中的安全要素,使得CLR可以判断是否运行应用程序,以及运行时需要具有什么许可。接下来,CLR将 MSIL代码翻译成处理器可以执行的本机代码。(微软将此称为“可控制的本机代码”,以与“不可控制的本机代码”相区分,后者是用 C+这样较老的语言写的, CLR对其没有控制。)一项称为 Just-in-

27、Time(JIT)编译的能力使得 CLR能将翻译过程延迟至真正需要它时,这样就使 CLR避免翻译不常用的代码。(关于这个过程的图解说明,请参看“执行可控制代码”示意图。)最后,CLR监控着翻译代码的运行,并且定期清空应用程序释放的内存(使用一个称作“碎片整理”的进程)。 CLR的好处 CLR通过下列方法增强了应用程序的可靠性:它减少了不同版本组件间的冲突。 CLR可以帮助避免在一台机器上安装相冲突的软件组件时发生的问题现在的Windows应用程序如果试图加载不正确版本组件时可能失败。当 CRL加载一个应用程序时,它使用元数据和汇编清单来确保它加载了所有组件的正确版本。例如如果应用程序需要访问数

28、据库, CLR就使用清单中的信息来寻找并加载版本正确 6的数据访问组件。系统也允许并列安装多个版本的组件。它减少了由于通常的编程错误所带来的 bug和安全漏洞的数量。 CLR监控代码以确保它不会有通常的编程错误,这些错误可能导致程序执行不正确的功能,例如试图使用一个整数作为函数指针,强行将数值型数据存放到分配给文本数据的位置,或者是载入数据时覆盖代码(由于缓冲溢出)。减少来自这些通常的编程错误的 bug意味着应用程序不但运行得更可靠,而且攻击者有机可乘的漏洞和弱点也更少。增强的安全性能使恶性代码的运行更为困难。因为 CLR可以理解每个应用程序的代码的身份和来源,所以它可以决定应用程序是否被允许

29、执行特定的任务(例如读写本地存储器或者发送 E-mail)。这给现在的安全模型增加了另外一层保护,在现在的安全模型中应用程序在运行它的用户帐号的安全背景下运行(例如,管理员机器上所有的应用程序都用管理员级的许可在运行)。内存泄漏更少。如果内存和组件分配给一个应用程序使用,但却得不到释放,这样就会导致系统超出内存运行,要么会冲击系统,要么就需重新启动、释放内存。 CLR的内存管理和碎片整理可大大降低这种问题发生的可能性。组装函数(Plumbing functions)减少了 bug,同时也节约了开发者的时间。最后, CLR提供了许多与内存和对象管理、数据编组,以及线程( thread)相关的低级

30、的,或组装函数。这不仅通过降低 bug的发生可能性而建立了更好的可靠度,而且还使得程序员能将精力集中于用于他们特定的应用程序的“行业”代码上,而不必重新实现标准的 Windows函数。从 Windows的过渡最后,CLR执行的一项非常重要的功能是在可控制代码和不可控制代码(即脱离 CLR运行的传统的 Windows代码)间起中介作用。特别地,它使开发者可以将新的 .NET代码与现存的 Windows库和 COM组件结合起来,并将一个应用程序逐渐地从老平台迁移到新平台上来。(请参看“混合可控制代码与不可控制代码”示意图)。不过,需要指出的是,不可控制代码脱离 CLR的控制而运行,因此有可能冲击应

31、用程序,泄露内存,或者通过缓冲溢出打开安全漏洞。一个.NET应用程序只是和它的最弱环节它的不可控制代码一样强壮。类库统一 Windows API .NET Framework类库提供了几乎所有应用程序都需要的公共代码。和在 Windows和它的 SDK中发送的代码库一样,类库使得开发者能将精力集中于编写他们的应用程序所独有的代码,而不必一再重复编写类似读写文件这样经常使用的功能的代码。类库还解决了当前的 Windows代码库中存在的一个问题:当微软将向 Windows绑缚新功能时,API和 SDK之间就会出现混乱。(各种“版本”中的 Java库试图解决非 Windows OS上类似的、甚或更严重的问题,即:来自各种不同的厂商,用于诸如文件输入 /输出和消息收发等基本功能的使人困惑的 API。)类库做什么所有的可控制代码都组织在称为类的(这就是类库的来源)逻辑组中,这些类按照称作域名空间的分级制度排列。 .NET Framenork类库在域名空间

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1