首页 > 编程学习 > .NET Framework

.NET Framework

发布时间:2022/11/8 23:55:31

定义

  • 它是一个虚拟机,用于编译和执行用 C#、VB.Net 等不同语言编写的程序。

  • 操作系统架构和 CPU 架构的组合称为平台。 平台相关意味着编程语言代码将仅在特定操作系统上运行。 .NET 应用程序依赖于平台,因为 .NET 框架只能在基于 Windows 的操作系统上运行。由于 Mono 框架,.Net 应用程序也与平台无关。 使用 Mono 框架,.Net 应用程序可以在包括 Windows 在内的任何操作系统上运行。


基本架构和组件堆栈

net

  1. CLR(Common Language Runtime)
    CLR 是 .NET Framework 的基本虚拟机组件。 它是 .NET Framework 中的运行时环境.

  2. FCL (Framework Class Library)
    这个框架中存在大量的类库,称为 FCL

  3. WPF (Windows Presentation Foundation)
    Windows Presentation Foundation (WPF) 是 Microsoft 提供的一个图形子系统,它使用 DirectX 并在基于 Windows 的应用程序中用于呈现 UI(用户界面)。 WPF 最初于 2006 年作为 .NET Framework 3.0 的一部分发布,以前称为“Avalon”。

  4. WCF (Windows Communication Foundation)
    它是一个用于构建连接的和面向服务的应用程序的框架,用于将数据从一个服务端点异步传输到另一个服务点。

  5. LINQ (Language Integrated Query)
    它是在 .Net 框架 3.5 版中引入的。 基本上,它是一种查询语言,用于使用 VB 或 C# 编程语言对数据源进行查询。

  6. Entity Framework
    它是基于 .Net Framework 3.5 版的开源 ORM(对象关系映射)框架。 它使 .Net 开发人员能够使用 .Net 对象处理数据库。 在实体框架之前,.Net 开发人员已经进行了很多与数据库相关的事情。 就像打开与数据库的连接一样,开发人员必须创建一个数据集以获取或提交数据到数据库,将数据从数据集转换为 .NET 对象,反之亦然。 它给开发人员带来了困难,也是容易出错的过程,然后“实体框架”来为应用程序自动化所有这些与数据库相关的活动。 因此,实体框架允许开发人员在更高的抽象级别上工作。

  7. Parallel LINQ (Language Integrated Query)
    它来自 .Net Framework 4.0 版,也称为 PLINQ。 它为 LINQ 提供了一个并发查询执行引擎。 它并行执行 LINQ,以便尝试使用它正在执行的尽可能多的处理能力系统。

  8. TPL (Task Parallel Library)
    它是一组公共类型和 API。 它通过简化向 .Net 应用程序添加并发性和并行性的过程,使开发人员能够提高工作效率。

  9. Task-Based Asynchronous Model
    它是用于描述 .Net Framework 中的异步操作和任务的模型。

MSIL(Microsoft Intermediate Language) or CIL(Common Intermediate Language)

在这里插入图片描述

定义

  • 是一组独立于平台的指令,由特定于语言的编译器从源代码生成。 MSIL 独立于平台,因此可以在任何支持公共语言基础结构的环境(例如 Windows .NET 运行时)上执行。

  • MSIL 由 JIT 编译器转换为特定计算机环境的特定机器代码。 这是在执行 MSIL 之前完成的。 此外,MSIL 会根据要求转换为机器代码,即 JIT 编译器根据需要编译 MSIL,而不是全部编译。


CLR中的执行过程

  • 源代码在 CLR 的编译时由特定于语言的编译器转换为 MSIL。 此外,与 MSIL 一起,元数据也在编译中生成。 元数据包含代码中类型的定义和签名、运行时信息等信息。
  • 通过组装 MSIL 创建公共语言基础结构 (CLI) 程序集。 该程序集基本上是一个用于安全、部署、版本控制等的编译代码库,它有两种类型,即进程程序集 (EXE) 和库程序集 (DLL)。
  • 然后,JIT 编译器将 Microsoft 中间语言 (MSIL) 转换为特定于运行 JIT 编译器的计算机环境的机器代码。 MSIL 根据要求转换为机器代码,即 JIT 编译器根据需要编译 MSIL,而不是全部编译。
  • 使用 JIT 编译器获得的机器代码然后由计算机的处理器执行。
Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式