首页 > 其他分享 >.NET Framework

.NET Framework

时间:2022-12-15 11:45:05浏览次数:42  
标签:Windows 应用程序 Framework LINQ NET net

1 什么是.NET Framework

.NET Framework 是一个微软设计和开发的软件框架,主要用来开发在Windows平台上运行的应用程序,例如Web、Windows和移动端的各种应用程序,框架中提供了包括网络、安全性、内部管理和类型安全在内的各种服务。

.NET Framework支持60多种编程语言,例如C#、F#、VB.NET、J#、VC++、JScript.NET等等。

2 .NET Framework的构成

.NET Framework 主要由四个部分构成,如下所示:

  • 公共语言运行库(CLR);
  • 框架类库(FCL);
  • 核心语言(WinForms、ASP.NET 和 ADO.NET);
  • 其他模块(WCF、WPF、WF、Card Apace、LINQ、Entity Framework、Parallel LinQ、Task Parallel Library等)。

3 CLR:公共语言运行库

CLR全称为“Common Language Runtime”,它为.NET 应用程序提供了一个托管的代码执行环境(类似 Java 中的虚拟机),是整个.net 框架的核心。实际上CLR 是驻留在内存里的一段代码,负责程序执行期间的代码管理工作,例如内存管理、线程管理、安全管理、远程管理、即使编译等。下图中展示了CLR的组成。

其中,各部分的说明如下:

  • base class library support(基础类库):一个类库,为.net 应用程序提供了一些类;
  • thread support (线程支持):用来管理多线程引用程序的并行执行;
  • COM Marshaler(COM封送处理程序):提供COM对象与应用程序之间的通信;
  • Type Check(类型检验器):检查应用程序中使用的类型,并验证它们是否与CLR提供的标准类型匹配;
  • Code Manager(代码管理器):在程序运行时管理代码;
  • Garbage Collector(垃圾回收器):释放未使用的内存,并将其分配给新的应用程序;
  • Exception Handler(异常管理器):在程序运行时处理异常,避免应用程序运行失败;
  • Class Loader(类加载器):在运行时加载所有的类。

4 FCL:框架类库

FCL 全称为“Framework Class Library”,它是一个标准库,其他包含了成千上万个类,主要用于构建应用程序。FCL 的核心是 BCL(Base Class Library:基础类库),BCL提供了 FCL 的基本功能。FCL 的基本组成如下图所示:

5 WinForms

WinForms 是Windows Forms 的简称,它是一种 .net framework 的智能客户端技术,用来开发可以在我们电脑中运行的应用程序,我们经常使用的记事本就是使用 WinForms 技术开发的。

6 ASP.NET

ASP.NET 是一个微软设计和开发的 Web 框架,于 2002年1月首次发布,ASP.NET中完美的集成了 HTML、CSS 和 JavaScript。可以使用ASP.NET 来开发网站、Web 应用程序和 Web服务。

7 ADO.NET

ADO.NET 一个是 .Net Framework 的模块,有可用于连接、检索、插入和删除数据的类组成,主要用来开发能够于 SQL Server、Oracle 等数据库进行交互的应用程序。

8 WPF

WPF 全称“Windows Presentation Foundation”,是微软推出的基于 Windows 的用户界面框架,主要用来设计 Windows 应用程序的用户界面。WPF 以前也叫 “Avalon”,集成在 .NET Framework 中,2006发布的 .net frameword 3.0 是最早支持 WPF 的。

9 WCF

WFC 全称 “Windows communication foundation”,是由微软开发的支持数据通信的应用程序框架,中文翻译为 Windows 通讯开发平台。与 WPF 相同,WPF 最早也是集成在 .net framework 3.0 中,WCP、WPF 和 WF 被统称为新一代 Windows 操作系统以及 WinFX (Windows Vista 的托管代码编程模型)的三个重大应用程序开发类库。

WCF 整合了 Windows 通讯中的 .net remoting、Webservice、socket 机制,并融合了 HTTP 和 FTP 的相关技术,因此尤其适合 Windows 平台上分布式应用的开发。

10 WF

WF 全称为“Windows workflow foundation”,是微软提供的一项技术,其中提供 API、进程内工作流引擎和可重新托管的设计器,用来将长时间运行的进程实现为 .net 应用程序中的工作流。

11 LINQ

LINQ 技术在2007 年跟随 .net framework 3.5 一同发布,其全称为“Language Integrated Query”,是微软的一项技术,新增了一种自然查询的 SQL 语法到 .net framework 的编程语言中,当前支持 C# 以及 Visual Basic .net 语言。

12 Entity Framework

Entity Framework 是一个基于 ORM 的开源框架,可以和使用 .net 对象的数据库一起使用。它可以减轻程序员在处理数据库方面的工作,是微软推荐使用的处理数据库的技术。

13 Parallel LINQ

Parallel LINQ 也叫 PLINQ,是对 LINQ 技术的并行实现,PLINQ 将 LINQ 语法的简洁和可靠性与并行编程的强大功能结合起来,大大提高了使用LINQ是的运行速度。

除了上述特性和库之外,.net 中包括一些起其他的 API 和模型来改进或者增强 .NET 框架,例如在 .net 4.5 中添加了基于任务的异步模型等等。

标签:Windows,应用程序,Framework,LINQ,NET,net
From: https://www.cnblogs.com/counter/p/16984612.html

相关文章

  • Kubernetes Volumes 笔记
    Volumes官方文档介绍Container中的文件在磁盘上是临时存放的,这给Container中运行的较重要的应用程序带来一些问题。当容器崩溃时文件丢失。kubelet会重新启动容......
  • Netty中的Decoder和Encoder作用
    什么是编解码器每个网络应用程序都必须定义如何解析在两个节点之间来回传输的原始字节,以及如何将其和目标应用程序的数据格式做相互转换;这种转换逻辑有编解码器处理,编解码......
  • net5 debug版本iis发布 403.14 错误
    HTTP错误403.14-Forbidden ASPNETCore5.0VS2022发布好网站部署在IIS上就报错了:HTTP错误403.14-Forbidden这个错误出现的次数很多,也就解决过很多次,在N......
  • ASP.NET Core 奇淫技巧之动态WebApi
    一.前言接触到动态WebApi(DynamicWebAPI)这个词的已有几年,是从ABP框架里面接触到的,当时便对ABP的这个技术很好奇,后面分析了一波,也尝试过从ABP剥离一个出来作为独立组件来使......
  • 《ASP.NET Core 6 框架揭秘》第五章读书笔记 - 配置选项(上)
    5.1读取配置信息.NET的配置支持多样化的数据源。内存变量、环境变量、命令行参数及各种格式的配置文件都可以作为配置的数据来源。 5.1.1编程模型三要素从编程层面......
  • net中c#文件操作 如何制作通用的导入和导出页面?
    一般程序都不是独立存在的,需要和外部交互,这时就要用到数据的导入导出功能。今天我们来制作一个通用的导入导出页面,这里假定的导入文件是Excel。如果是CSV或txt也问题不大,做......
  • C# .NET HttpWebRequest 按每个请求跳过证书校验
     使用.NET4.5新加的属性 HttpWebRequest.ServerCertificateValidationCallback。 HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(url);request.......
  • LeaRun.net代码生成器 一键生成前后端代码
    自动代码生成是指根据自然语言的功能描述来生成代码。在项目开发过程中,有很多业务模块的代码是具有一定规律性的,例如controller控制器、service接口、service实现类、mappe......
  • asp.net core 微服务网关示例 ocelot gateway Demo
    ocelotasp.netcore微服务gateway介绍https://ocelot.readthedocs.io/en/latest/introduction/gettingstarted.html 1.新建asp.netcorewebapi空项目AProject,nug......
  • Python用telnet设置,抓UDP抓采样点并显示
    ====main.bat====echooffrem"d:\Program\WiresharkPortable64\App\Wireshark\tshark.exe"--list-interfacesrem"d:\Program\WiresharkPortable64\App\Wireshark\tsha......