基于net的新闻发布系统-毕业论文内容摘要:

们的问题 [7]。 C是一种安全的、稳定的、简单的、优雅的 语言。 它在继承 C 和 C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。 C综合了 VB 简单的可视化操作和 C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为 .NET 开发的首选语言。 并且 C成为 ECMA 与 ISO 标准规范。 C看似基于 C++写成,但又融入其它语言如 Delphi、 Java、 VB 等。 使用 C#开发应用程序比使用 C++简单。 但是, C是一种强大的语言,在 C++中能完成的任务利用 C++也能完成。 C中与 C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。 这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。 C代码常常比 C++略长一些。 这是因为 C是一种类型安全的语言(与 C++不同)。 在外行人看 来,这表示一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。 所以,在类型之间转换时,必须严格遵守规则。 执行相同的任务时,用 C编写的代码通常比 C++长。 但 C代码更健壮,调试也比较方便, .NET总是可以随时跟踪数据的类型。 在 C中,不不能完成诸如“把 4 个字节的内存放在这个数据中,使之有 10 个字节长,并把它解释为 X”等任务,但这并不是一件坏事。 C从 C和 C++中继承了:编译、结构体、预编译、操作符重载的的特点,其 9 本身又有自己独有的特点 [8]:  中间代码  命名空间中的申明  两个基本类  基本的数据类型  参数传递  与 COM 的集成  索引下标  代理和反馈 C只是 .NET 开发的一种语言,但它比其它语言更优越,它是唯一为 .NET Framework 设计的语言,是在一直到其它操作系统上的 .NET 版本中使用的主要语言。 要使语言如 尽可能类似于以前的语言,且仍遵守 CLR,就不能完全支持 .NET 代码库的某些功能。 但 C能使用 .NET Framework 代码库提供的每种功能。 .NET 的最新版本还对 C语言进行了几处改进,这是为了满足开发人员的要求,使之更强大。 用 C能编写什么样的程序 如前所述 , .NET Framework 没有限制应用程序的类型。 C使用 .NET Framework,所以也没有现在应用程序的类型。 这里仅讨论几种常见的应用程序类型 [7]。  Windows 应用程序 这些应用程序如 Microsoft Office,有我们很熟悉的 Windows 外观和操作方式,使用 .NET Framework的 Windows Forms 模块就可以生产这种应用程序。 Windows Forms 模块是一个控件库,其中的控件(例如按钮、工具栏、菜单等)可以用于建立 Windows 用户界面( UI)。  Web应用 程序 这些事 Web 页,可以通过任何 Web 浏览器查看。 .NET Framework包括一个动态生产 Web 内容的强大系统,允许个性化、实现安全性等。 这个系统叫做 Active 10 Server (),我们可以使用 C通过 Web Forms 创建 应用程序。  Web服务 这是创建各种分布式应用程序的新方式,使用 Web 服务可以通过Inter 虚拟交换数据。 无论使用什么语言创建 Web 服务,也无论 Web服务驻留在什么系统上,都使用一样简单的语法。 这些类型也需要某种形式的 数据库访问,这可以通过 .NET Framework 的 Active Data ()部分来实现。 也可以使用许多其他的资源,例如创建联网组件、输出图形、执行复杂数学任务的工具。 .什么是 .NET Framework Framework 概述 .NET Framework 是用于 .NET 平台的编程模型 ,其关键组件是公共语言运行库 (CLR, Common Language Runtime) 和 .NET Framework 类库(包括 、 和 Windows 窗体) ,它提供了托管执行环境、简化的开发和部署以及与各种编程语言的集成 ,是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。 .NET Framework 旨在实现下列目标 [9]:  提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Inter 上分布,或者是在远程执行的 ;  提供一个将软件部署和版本控制冲突最小化的代码执行环境 ;  提供一个可提高代码(包括由未知的或不完全受信任的第三方创建 的代码)执行安全性的代码执行环境 ;  提供一个可消除脚本环境或解释环境的性能问题的代码执行环境 ;  使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致 ;  按照工业标准生成所有通信,以确保基于 .NET Framework 的代码可与任何其他代码集成。 11 .NET Framework 具有两个主要组件 [10] :公共语言运行库和 .NET Framework 类库。 公共语言运行库是 .NET Framework 的基础。 用户 可以将运行库看作一个在执行 时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。 事实上,代码管理的概念是运行库的基本原则。 以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。 .NET Framework 的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合, 用户 可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面 (GUI) 应用程序,也包括基于 所提供的最新创新的应用程序(如 Web 窗体和 XML Web Services)。 .NET Framework 可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。 .NET Framework 不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。 例如, 承载运行库以为托管代码提供可伸缩的服务器端环境。 直接使用运行库以启用 应用程序和 XML Web Services。 Inter Explorer 是承载运行库(以 MIME 类型扩展的形式)的非托管应用程序的一个示例。 使用 Inter Explorer 承载运行库使 用户 能够在 HTML 文档中嵌入托管组件或 Windows 窗体控件。 以这种方式承载运行库使得托管移动代码(类似于 Microsoft174。 ActiveX174。 控件)成为可能,不过它需要进行重大改进(如不完全受信任的执行和独立的文件存储),而这种改进只有托管代码才能提供。 下面的插图 41显示 了 公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。 该插图还显示托管代码如何在更 大的结构内运行。 12 图 41 公共语言运行库和类库与应用程序之间以及与整个系统 关系 图 下面简单的介绍一下 公共语言运行库和 .NET Framework 类库。 公共语言运行库 是 管理内存、线程执行、代码执行、代码安全验证、编译以及其他系统服务。 这些功能是在公共语言运行库上运行 的托管代码所固有的。 至于安全性,取决于包括托管组件的来源(如 Inter、企业网络或本地计算机)在内的一些因素,托管组件被赋予不同程度的信任。 这意味着即使用在同一活动应用程序中,托管组件既可能能够执行文件访问操作、注册表访问操作或其他须小心使用的功能,也可能不能够执行这些功能。 运行库强制实施代码访问安全。 例如,用户可以相信嵌入在网页中的可执行文件能够在屏幕上播放动画或唱歌,但不能访问他们的个人数据、文件系统或网络。 这样,运行库的安全性功能就使通过 Inter 部署的合法软件能够具有特别丰富的 功能。 运行库还通过实现称为通用类型系统 (CTS) 的严格类型验证和代码验证基础结构来加强代码可靠性。 CTS 确保所有托管代码都是可以自我描述的。 各种 Microsoft 和第三方语言编译器生成符合 CTS 的托管代码。 这意味着托管代码可在严格实施类型保真和类型安全的同时使用其他托管类型和实例。 此外,运行库的托管环境还消除了许多常见的软件问题。 例如,运行库自动处理对象布局并管理对对象的引用,在不再使用它们时将它们释放。 这种自动内 13 存管理解决了两个最常见的应用程序错误:内存泄漏和无效内存引用。 运行库还提高 了开发人员的工作效率。 例如,程序员可以用他们选择的开发语言编写应用程序,却仍能充分利用其他开发人员用其他语言编写的运行库、类库和组件。 任何选择以运行库为目标的编译器供应商都可以这样做。 以 .NET Framework 为目标的语言编译器使得用该语言编写的现有代码可以使用 .NET Framework 的功能,这大大减轻了现有应用程序的迁移过程的工作负担。 尽管运行库是为未来的软件设计的,但是它也支持现在和以前的软件。 托管和非托管代码之间的互操作性使开发人员能够继续使用所需的 COM 组件和 DLL。 运行库 旨在增强性能。 尽管公共语言运行库提供许多标准运行库服务,但是它从不解释托管代码。 一种称为实时 (JIT) 编译的功能使所有托管代码能够以它在其上执行的系统的本机语言运行。 同时,内存管理器排除了出现零碎内存的可能性,并增大了内存引用区域以进一步提高性能。 最后,运行库可由高性能的服务器端应用程序(如 Microsoft174。 SQL Server™ 和 Inter 信息服务 (IIS))承载。 此基础结构使 用户 在享受支持运行库宿主的行业最佳企业服务器的优越性能的同时,能够使用托管代码编写业务逻辑。 .NET Framework 类库是一个与公共语言运行库紧密集成的可重用的类型集合。 该类库是面向对象的,并提供 用户 自己的托管代码可从中导出功能的类型。 这不但使 .NET Framework 类型易于使用,而且还减少了学习 .NET Framework 的新功能所需要的时间。 此外,第三方组件可与 .NET Framework 中的类无缝集成。 例如, .NET Framework 集合类实现一组可用于开发 用户 自己的集合类的接口。 用户 的集合类将与 .NET Framework 中的类无缝地混合。 正如 用户 对面向对象的类库所 希望的那样, .NET Framework 类型使 用户 能够完成一系列常见编程任务(包括诸如字符串管理、数据收集、数据库连接以及文件访问等任务)。 除这些常见任务之外,类库还包括支持多种专用开发方案的类型 [11]。 例如,可使用 .NET Framework 开发下列类型的应用程序和服务:  控制台应用程序。  Windows GUI 应用程序( Windows 窗体)。 14  应用程序。  XML Web Services。  Windows 服务。 例如, Windows 窗体类是一组综合性的可重用的类型,它们 大大简化了 Windows GUI 的开发。 如果要编写 Web 窗体应用程序,可使用 Web 窗体类。 使用 .NET Framework 进行 应用程序开发 使用 .NET Framework 编写应用程序 ,就是 使用 .NET 代码库编写代码(使用支持 Framework 的任何一种语言),例如 Visual Studio, VS 是一种强大的集成开发环境,支持 C(以及托管和非托管 C++、 Visual Basic 和其他的一些语言)。 这个环境的优点是便于把 .NET 功能集成到代码中。 为了执行 C代码, 必须把他们转换成为目标操作系统能够理解的语言,即本机代码,这种转换成为编译代码,由编译器执行。 但在 .NET Framework 下,这个过程分为连个阶段 [7]。 1. MSIL 和 JIT 在编译使用 .NET Framework 库的代码时,不是立即创建操作系统特定的本机代码,而是把代码编译为 Microsoft 中间语言( Microsoft Intermediate Language, MSIL)代码 ,这些代码不专用于任何一种操作系统,也不专用于 C。 其他的 .NET 语言,如 Visual 也可以在第一阶段编 译成为这种语言,当使用 VS 开发 C应用程序时,编译过程就由 VS完成。 显然,要执行应用程序,必须完成更多的工作,这是 JustInTime(JIT)编译器的任务,它把 MSIL 编译为专用于 OS 和目标机器结构的本机代码。 这样 OS才能执行应用程序。 这里编译器的名称 JustInTime 反映了 MSIL 尽在需要时才编译的事实。 过去,常常需要把代码编译为几个应用程序,每个应用程序都用于特定的操作系统和 CPU 结构。 这通常是一种优化形式(例如,为了让代码在 AMD 芯片上运。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。