《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第2章)
第 2 章 .NET Core 和 ASP.NET Core
2.1 .NET Core 简介
.NET Core 是一个通用的开发平台,最重要的特点是跨平台,同时也是一个开源平台
.NET Core 包含以下几部分内容:
- CoreCLR:它是 .NET Core 的运行时,包含垃圾回收器、JIT 编辑器、原生数据类型、本机交互操作及底层类
- CoreFX:它是 .NET Core 的基础类库,实现了 .NET Standard,包含集合、文件系统、JSON、异步等API
- Roslyn 编辑器:用于将 C# 或 VB.NET 代码编译为程序集
- .NET Core CLI 工具:用于构建 .NET Core 应用程序和类库
.NET Core 采用包化的管理方式,应用程序只需要获取需要的组件即可
2.2 .NET Standard 简介
.NET Standard 是一套 .NET 规范或标准,它定义了所有 .NET 平台都应该实现的接口
.NET 平台包括 .NET Core、.NET Framework、Xamarin
每个平台支持不同的应用模型,而且都基于相应的基础类库,通过 .NET Standard 可以实现类库共享
.NET Standard 2.0 的 API 主要包括以下几个方面:
- IO
- XML
- Serialization
- Threading
- Data
- Networking
- Core
.NET Standard 2.1 新增3000多个 API,主要包括 Span、ValueTask、ValueTask、DbProviderFactories 等
2.3 ASP.NET Core 简介
ASP.NET Core 是免费、开源、高性能而且跨平台的 Web 框架,用来构建 Web 应用程序
ASP.NET Core 具有以下优点:
- 跨平台,能够在 Windows、macOS 和 Linux 系统上开发、编译和运行
- 统一 Web UI 与 Web API 开发
- 集成新式客户端框架和开发工作流
- 基于环境配置以及云就绪配置
- 内置依赖注入
- 轻型的高性能模块化 HTTP 请求管道
- 能够在 IIS、Nginx、Apache 和 Docker 上进行托管或者在当前进程内自托管
- 当目标框架为 .NET Core 时,支持并行应用版本控制
- 简化新式 Web 开发工具
- 开源和以社区为中心
ASP.NET Core 2.1 新增特性
- SignalR
- HTTPS
- Razor 类库
- [ApiController] 特性和 ActionResult 类
- Identity UI 类库
- Microsoft.AspNetCore.App
ASP.NET Core 2.2 新增特性
- IIS 进程内托管
- HTTP/2 支持
- OpenAPI 分析器和约定
- Kestrel 配置
- 运行状况检查
- SignalR Java 客户端
- CORS 改进
2.4 设置开发环境
.NET Core Runtime 与 SDK 的区别:
- .NET Core Runtime 仅包含 .NET Core 应用程序运行所需要的资源
- .NET Core SDK 不仅包含了 .NET Core Runtime,也包含了开发程序时所依赖的库文件以及 SDK 工具等
.NET Core CLI 就是 .NET Core 命令行界面,它是一个开发 .NET Core 应用程序的跨平台工具链,安装完 SDK 之后就可以使用
.NET Core CLI 命令:
- dotnet sln
- dotnet add
- dotnet remove
- dotnet build
- dotnet run
- dotnet publish
- dotnet ef
- dotnet dev-certs https
- dotnet test
2.5 创建第一个 API 项目
ASP.NET Core Web 应用程序包含以下若干文件:
- launchSetting.json:应用程序运行配置文件,如 URL 和端口信息等
- wwwroot:用于存储静态文件,如图片、CSS 和 JavaScript 等文件
- 依赖项:当前应用程序所依赖的 NuGet 包和 SDK
- Controllers:存储所有控制器类文件
- appsettings.json:配置文件,用于存储在应用程序运行时要用到的一些配置项
- Program.cs:程序入口类,ASP.NET Core 应用程序从这个类中的 Main 函数运行,这与控制台程序完全一样
- Startup.cs:应用程序启动时的配置类,用于配置 ASP.NET Core 应用程序中的服务、中间件、MVC 和异常处理等


本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章署名 郑子铭 (包含链接: http://www.cnblogs.com/MingsonZheng/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
如有任何疑问,请与我联系 (MingsonZheng@outlook.com) 。
《ASP.ENT Core 与 RESTful API 开发实战》-- 读书笔记(第2章)的更多相关文章
- Spring AOP (Spring 3.x 企业应用开发实战读书笔记第六章)
从面相对象编程到面相切面编程,是一种代码组织方式的进化. 每一代的代码组织方式,其实是为了解决当时面对的问题.比如写编译器和写操作系统的时候的年代当然要pop,比如写界面的时候当然要oop,因为界面这 ...
- 使用ASP.NET Core构建RESTful API的技术指南
译者荐语:利用周末的时间,本人拜读了长沙.NET技术社区翻译的技术标准<微软RESTFul API指南>,打算按照步骤写一个完整的教程,后来无意中看到了这篇文章,与我要写的主题有不少相似之 ...
- iPhone与iPad开发实战读书笔记
iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...
- <<Java RESTful Web Service实战>> 读书笔记
<<Java RESTful Web Service实战>> 读书笔记 第一章 JAX-RS2.0入门 REST (Representational State ransf ...
- Spring 3.x 实践 第一个例子(Spring 3.x 企业应用开发实战读书笔记第二章)
前言:工作之后一直在搞android,现在需要更多和后台的人员交涉,技术栈不一样,难免鸡同鸭讲,所以稍稍学习下. 这个例子取自于<Spring 3.x 企业应用开发实战>一书中的第二章,I ...
- ASP.NET Core 2 High Performance 目录和读书笔记
ASP.NET Core 2 High Performance 大概的翻看了一下这本书,这本C# 7 and .NET Core 2.0 High Performance内容要好很多,这里先放出对应目 ...
- HTML5 Canvas核心技术图形动画与游戏开发(读书笔记)----第一章,基础知识
一,canvas元素 1 为了防止浏览器不支持canvas元素,我们设置“后备内容”(fallback content),下面紫色的字即为后备内容 <canvas id="canvas ...
- Javascript设计模式与开发实践读书笔记(1-3章)
第一章 面向对象的Javascript 1.1 多态在面向对象设计中的应用 多态最根本好处在于,你不必询问对象“你是什么类型”而后根据得到的答案调用对象的某个行为--你只管调用行为就好,剩下的一切 ...
- Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述
声明: 本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...
- jQuery 实战读书笔记之第二章:选择元素
基本选择器 html 代码如下,后面的 js 使用的 html 基本大同小异. <!doctype html> <html> <head> <title> ...
随机推荐
- 2020年了,再不会webpack敲得代码就不香了(近万字实战)
https://zhuanlan.zhihu.com/p/99959392?utm_source=wechat_session&utm_medium=social&utm_oi=619 ...
- df -h与df -i的区别
一. df命令详解: linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息 -a 全部文件系统列表 -h ...
- Blazor的技术优点
Blazor是一种使用.NET和C#构建客户端Web应用程序的新兴技术.它允许开发者在浏览器中直接运行.NET代码,而无需依赖JavaScript.Blazor的技术优点主要表现在以下几个方面: 单一 ...
- springboot启动流程 (2) 组件扫描
SpringBoot的组件扫描是基于Spring @ComponentScan注解实现的,该注解使用basePackages和basePackageClasses配置扫描的包,如果未配置这两个参数,S ...
- SV 自定义数据类型
概述 自定义类型 枚举类型 定义枚举值 自定义枚举类型 枚举类型之间进行赋值是可以的 枚举类型可以赋值给整型,整型不能直接赋值给枚举类型 枚举类型 + 1 ==> 会进行隐式的转换,枚举类型转换 ...
- 05-Shell索引数组变量
1.介绍 Shell 支持数组(Array),数组是若干数据的集合,其中的每一份数据都称为数组的元素. 注意Bash Shell 只支持一维数组,不支持多维数组. 2.数组的定义 2.1 语法 在 S ...
- [转帖]MySQL联合索引(复合索引)
Mysql联合唯一索引添加相同数据插入报错 联合索引在两个字段都存在唯一,将报错. 1.添加联合索引 alter table "表名" add unique index(`字段1` ...
- [转帖]使用 TiUP 部署 TiDB 集群
https://docs.pingcap.com/zh/tidb/stable/production-deployment-using-tiup TiUP 是 TiDB 4.0 版本引入的集群运维工具 ...
- [转帖]缓存与存储的一致性策略:从 CPU 到分布式系统
https://zhuanlan.zhihu.com/p/151745863 在计算机系统设计实践中,我们常常会遇到下图所示架构: 为了解决单个存储器读吞吐无法满足要求的问题,常常需要在存储器上面增加 ...
- [转帖]谈谈对K8S CNI、CRI和CSI插件的理解
K8S的设计初衷就是支持可插拔架构,解决PaaS平台不好用.不能用.需要定制化等问题,K8S集成了插件.附加组件.服务和接口来扩展平台的核心功能.附加组件被定义为与环境的其他部分无缝集成的组件,提供类 ...