.NET和C#是什么关系

Yang 5580

.NET与C#的关系有:1、C#是一种针对与.net编写的编程语言,而.net是一个开发框架;2、C#是一种面向对象的、运行于.NET Framework之上的高级程序设计语言,而.NET是名为公共语言运行时 (CLR) 的虚执行系统和一组类库;3、C#程序在.NET上运行,而.NET是Microsoft对公共语言基础结构 (CLI) 国际标准的实现。

一、.NET和C#是什么关系

  1. C#是一种针对与.net编写的编程语言,与C++的语法十分相似。而.net是一个开发框架,.net中存在的特性,C#不一定存在。
  2. C#是一种面向对象的、运行于.NET Framework之上的高级程序设计语言,而.NET是名为公共语言运行时 (CLR) 的虚执行系统和一组类库。
  3. C#程序在.NET上运行,而.NET是Microsoft对公共语言基础结构 (CLI) 国际标准的实现。换言之,C#编写的代码总是运行在.NET Framework中。而且,在很多时候,C#的特定功能依赖于.NET。比如,在C#中声明一个int类型,实际上是.NET中System.Int32类的一个实例。

二、什么是.Net

.NET是一种用于构建多种应用的免费开源开发平台,可以使用C#、F#或Visual Basic编写.NET应用。 .NET用于生成多种类型的应用程序和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、控制台应用、Windows服务。.NET类库在不同应用和应用类型中共享功能,无论构建哪种类型的应用,代码和项目文件看起来都一样,可以访问每个应用的相同运行时、API和语言功能。

三、.NET主要的优点

.NET的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持。

.NET支持多种语言的互操作,即在一种语言下开发的组件,可在另一组件下通过面向对象的继承而得以重用。

.NET通过将各语言先编译成中间语言(IL),然后再执行时用即时(Just In Time)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,.NET通过公共语言运行库CR(Common Language Runtime)来实现资源对象,类型的安全。

.NET通过对HTTP,XML等Internet标准的支持提供在异构网络环境下获取远程服务,连接远程设备,交互远程应用的编程界面。

延伸阅读

.Net的应用组件

1、客户端应用

组成.net软件技术的组件,组件之一,“智能”客户端应用软件和操作系统,包括PC、PA、手机或其他移动设备通过互联网、借助Web Services技术,用户能够在任何时间、任何地点都可以得到需要的信息和服务。例如:可以在手机上阅读新闻、定购机票、浏览在线相册等等。CRM系统,应用了.NET的解决方案后所有的业务人员便可以通过手机或PDA直接访问客户信息了  。

2、WebServices

Web Services是智能终端软件的基础,微软为用户创建智能终端提供了一整套丰富的解决方案,包括:

  • .NET Framework- 智能终端实现跨平台(设备无关性)的
  • Visual Studio .NET – 建立并集成Web Services和应用程序的快速开发工具
  • Microsoft Windows Server 2003 – 新一代的企业服务器,用于提供建立和发布各种解决方案
  • Microsoft Office Professional Edition 2003 – 内建的工具集也能帮助开发智能终端

Web Services是.NET的核心技术。正如Web是新一代的用户与应用交互的途径,XML是新一代的程序之间通讯的途径一样,Web Services是新一代的计算机与计算机之间一种通用的数据传输格式,可让不同运算系统更容易进行数据交换。

Web Services有以下几点特性:Web services允许应用之间共享数据;Web services分散了代码单元;基于XML这种internet数据交换的通用语言,实现了跨平台、跨操作系统、跨语言。那微软的ASP和Web services究竟有什么不同呢,ASP仍然是一个集中式计算模型的产物,只不过是披着一层互联网的外衣。但Web Services却是一个迥然不同的精灵,它秉承“软件就是服务”的真言,同时顺应分布式计算模式的潮流。而它的存在形式又与以往软件不同。这种组件模式,小巧、单一,对于开发人员来讲,开发成本较低。

3、接口规范

先前提到的接口规范问题,在.NET中,Web service接口通常使用Web Services Description Language (WSDL)描述。WSDL 使用XML来定义这种接口操作标准及输入输出参数,看起来很像COM和CORBA的接口定义语言(IDLS)Interface Definition Languages。接口定义后就必须使用一些协议调用接口,如SOAP协议,SOAP源于一种叫做XML RPC(XML远程进程调用remote procedure calling)的协议,而Java则根据XML-RPC发展了自己的JAX-RPC协议用来调用Web Services。发布和访问Web Services的接口就用到UDDI了,这里我们只需要知道WSDL使用XML定义Web Services接口,通过SOAP访问Web Services,在internet上寻找Web Services使用UDDI就行了。服务器架构——Microsoft Windows Server System Microsoft提供了优异的服务器构架—Microsoft Windows Server System—便于发布、配置、管理、编排Web Services。为了满足分布式计算的需要微软构造了一系列的服务器系统,这些内建安全技术的系统全部支持XML,这样加速了系统、应用程序以及同样使用Web Services的伙伴应用之间的集成。

4、CLR 与 CIL

.NET的初级组成是CIL和CLR。CIL是一套运作环境说明,包括一般系统、基础类库和与机器无关的中间代码,全称为通用中间语言(CIL)。CLR则是确认操作密码符合CIL的平台。在CIL执行前,CLR必须将指令及时编译转换成原始机械码。

所有CIL(通用中间语言)都可经由.NET自我表述。CLR检查元资料以确保正确的方法被调用。元资料通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元资料。

如果一种语言实现生成了CIL,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的资料相交互。CLR也被设计为作业系统无关性。

当一个汇编体被载入时,CLR执行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元资料和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会执行一些“不安全”的操作。核查所使用的演算法非常保守,导致有时一些“安全”的代码也通不过核查。不安全的代码只有在汇编体拥有“跳过核查”许可的情况下才会被执行,通常这意味着代码是安装在本机上的。

通过.NET,你可以用SOAP和不同的Web services进行交互。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部