微软软件开发技术二十年回顾-.NET框架篇
六、 .NET框架篇
.NET是微软自从发布Windows 3.0以来最为激动人心的新技术,是微软战略上为下一个十年对服务器和桌面软件工程的第一步,是微软的一场世纪大豪赌。对于.NET,微软的定义是,“用于构架、配置、运行网络服务及其他应用程序的开发环境。该平台包括三个主要部分:公共语言运行时、框架类和ASP.NET。”
.NET框架是微软公司继Windows DNA以来的新的开发平台。基于这个新的框架,以前在DNA中暴露出来的缺陷有望得到解决。另一方面,.NET并没有完全抛弃WINDOWS DNA,实际上它是WINDOWS DNA的继续和发展。如今的.NET不仅有一套明确的技术规范,还提供了一系列的支持产品,例如编译器、类库甚至最终的用户程序。如Windows.NET是操作系统平台、.NET框架是运行环境、.NET企业服务器为产品服务器、Visual Studio.NET为编程平台。
.NET框架是以一种类似于Java系统的虚拟机方式运行和管理的编程平台,通过公共语言运行时刻为基础,支持多种语言(C#、VB.NET、C++、Python 等)的开发。下图5展示了.NET的整体框架结构。
图5..NET体系结构。
下面的图6则从另一个角度展示了公共语言运行库和类库与应用程序之间以及与整个系统之间的关系。注意,该插图还展示了托管代码如何在更大的结构内运行。
图6..NET公共语言运行库与类库、应用程序及整个系统之间关系示意图。
.NET框架具有两个主要组件:公共语言运行库和.NET框架类库。公共语言运行库是.NET框架的基础。您可以将运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码称为托管代码,而不以运行库为目标的代码称为非托管代码。.NET框架的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,您可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新的应用程序(如Web窗体和XML Web服务)。
.NET框架可由非托管组件承载,这些组件将公共语言运行库加载到它们的进程中并启动托管代码的执行,从而创建一个可以同时利用托管和非托管功能的软件环境。.NET框架不但提供若干个运行库宿主,而且还支持第三方运行库宿主的开发。
【注】.NET框架简史
.NET框架1.0(完整版本号1.0.3705),系最初的.NET构架,发行于2002年。它也是第一个微软Visual Studio.NET的发行版的一部分(Visual Studio.NET 2002)。
.NET框架1.1(完整版本号1.1.4322),这是首个主要的.NET框架升级版本,发行于2003年,它也是第二个微软Visual Studio.NET版本的一部分(Visual Studio.NET 2003)。它也是首个Windows Server 2003内置的.NET框架版本。这个框架新增功能有:
·内建了对移动ASP.NET控件的支持,现在已经集成到框架的内部。
·安全方面的变更—使得Windows窗体代码以可靠的行为执行,从而可以在互联网环境内安全运行,并且加入了ASP.NET应用程序的代码安全访问功能。
·内建了对ODBC和Oracle数据库的支持,现在已经集成到框架的内部。
·.NET Compact框架—这是一个用于智能设备(例如 PocketPC或者SmartPhone)的.NET框架的子集。
·对IPv6的支持。
·大量的API变更。
.NET框架2.0(完整版本号2.0.50727.42),发行于2005年10月27日。重大改进有:
·大量的API变更。
·一个新的API让需要管理一个.NET运行库实例的非.NET的应用程序可以做到这点。这个新的API对.NET运行库的各种功能(如多线程、内存分配、代码载入等)均提供了很好的控制。
.NET框架3.0(曾用名WinFX),将随Windows Vista一同发布。这个框架依然使用.NET框架2.0版本的CLR(公共语言运行时),并加入了适应未来软件发展方向的4个框架:Windows描述基础(WPF)、Windows通信基础(WCF)、Windows工作流基础(WWF)和Windows CardSpace(WCS)。
微软软件开发技术二十年回顾-.NET框架篇的更多相关文章
- 微软软件开发技术二十年回顾-Windows DNA篇
五. Windows DNA篇 微软的Windows分布式因特网应用体系(简称Windows DNA)是微软创建新一代高适应性商业解 决方案的框架,它使公司能够充分地挖掘数字神经系统的优点.Windo ...
- 微软软件开发技术二十年回顾-COM、OLE、ActiveX及COM+篇
本文摘自:http://www.job168.com/info/read_100394.html 微软的许多技术,如OLE.ActiveX.以及DirectX等都是基于COM技术而建立起来的.微软本身 ...
- 微软软件开发技术二十年回顾-MFC篇
三. MFC篇 Windows API是面向过程的接口,因此对于当时的编程技术来说,它是完美无缺的.但是,随着人们逐渐使用C++进行Windows程序的开发,迫切需要建立与Windows API的面向 ...
- 微软软件开发技术二十年回顾-API篇(转)
二. API篇 随着Windows操作系统开始占据主导地位,开发Windows平台下的应用程序成为人们的需要.当然,这也为传统的DOS程序员提供了一种新的编程方法-一种不受设备限制并由事件驱动的编程方 ...
- Qt开发技术:图形视图框架(二)场景QGraphicsScene、QGraphicsItem与QGraphicsView详解
前话 Qt的图形视图框架,最核心的三个类为:QGraphicsScene.QGraphicsItem与QGraphicsView. 基于图形框架的高级白板软件Demo QGraphicsSce ...
- fir.im Weekly - 2016 移动开发技术大回顾
2016 年是移动技术发展迅速的一年,认认真真回顾这一年必不可少.@移动开发前线 的 这篇 2016移动开发技术巡礼 ,精心盘点了 2016 年 移动开发技术大事件,分为 iOS/Android平台篇 ...
- Qt开发技术:图形视图框架(一)基本介绍
前话 使用到Qt的视图框架. Qt视图框架介绍 简介 图形视图框架(The Graphic View Framework)用于管理和与大量定制的二维图形项目交互,以及用于可视化项目的视图小 ...
- javac选项以递归方式编译给定目录下的所有Java文件 - IT屋-程序员软件开发技术分享社区
http://www.it1352.com/539276.html #Linux $ find -name“* .java”> sources.txt $ javac @ sources.txt ...
- 【Android 直播软件开发:音视频硬解码篇】
开篇 炙手可热,望而生畏的音视频开发 时至今日,短视频App可谓是如日中天,一片兴兴向荣.随着短视频的兴起,音视频开发也越来越受到重视,但是由于音视频开发涉及知识面比较广,入门门槛相对较高,让许许多多 ...
随机推荐
- Leetcode830.Positions of Large Groups较大分组的位置
在一个由小写字母构成的字符串 S 中,包含由一些连续的相同字符所构成的分组. 例如,在字符串 S = "abbxxxxzyy" 中,就含有 "a", " ...
- vue-cnodejs
感谢那些无私开源的程序员,你们是最可爱的人儿~~~~ //根app app.js <template> <div id="app"> <v-heade ...
- Qt qmake报错(TypeError: Property 'asciify' of object Core::Internal::UtilsJsExtension)
问题如题. 解决方案: 第一种 用下管理员权限来打开qt creator,再创建工程.有可能是没权限创建出源码工程目录 第二种 打开qt左边的项目上,可以看到这个项目的编译路径,修改成绝对路径,或者设 ...
- 【JZOJ4833】【NOIP2016提高A组集训第3场10.31】Mahjong
题目描述 解法 搜索. 代码 #include<stdio.h> #include<iostream> #include<string.h> #include< ...
- Windows 配置 Aria2 及 Web 管理面板教程
今天闲来没事,想找点东西折腾下,然后看到个在 Debian 7 x64 系统环境下配置 Aria2 和 Web 管理面板的教程,针对 Linux 服务器用的.但很多人没服务器,也不知道什么是 Aria ...
- SDWebImage源码解析之SDWebImageManager的注解
http://www.cocoachina.com/ios/20150612/12118.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...
- [软考]之软件过程模型I 标签: 总结软考 2015-10-24 11:58 863人阅读 评论(35) 收藏
做软考题的时候经常碰到软件工程的题,因为这些题有的很相近,容易混淆,所以在这里总结归纳一下. 软件过程模型: 瀑布模型: 瀑布模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括 ...
- C++讲课总结 标签: c++总结 2015-02-28 14:48 671人阅读 评论(25) 收藏
昨天老师算是给串了一本C++ 的课本,根据自己的理解,赶紧记录一下,也好作为自己学习时候的根据. C++编程简介:每本讲语言的书,第一章总是简介,内容无非是发展历史,语言特色等东西,专业的东西不多,都 ...
- Java练习 SDUT-2737_小鑫の日常系列故事(六)——奇遇记
小鑫の日常系列故事(六)--奇遇记 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 今天,小鑫在山上玩的时候,意外被推下 ...
- oracle中的闪回
项目中运用: 首先说明:闪回方法有一个前提,就是需要尽早的发现问题,果断的采取行动.若误操作的记录已经在UNDO表空间中被清除,则此方法就不可行了,需要另寻他法. 例如: SELECT * FROM ...