文章目的:.Net Core 3.0学习笔记整理与分享。

面向人群:有一定基础的C#开发人员或学习人员(C#语法一定要掌握)。

笔者水平:中级C#开发攻城狮(水平有限,写的不对的地方希望大家指正)。

文章特点:绝对的通俗,绝对的易懂,绝对原创。(觉得小弟写的不错的朋友,麻烦动动小手给个双击——开玩笑的!)


.Net Core 3.0 简介

  .Net Core 3.0是微软刚发布的一款跨平台开源开发框架平台,它的特性就是:【高性能】、【跨平台】、【用途广】、【开源】、【爸爸屌】、【C#语言屌】【VS集成开发环境屌】。这些特性让.Net Core 3.0未来发展潜力十足,我个人认为.NET 将是未来企业级应用第一编程框架平台,大家可以期待一下,所以大家这回可以坚定的抱紧微软爸爸的大腿。

  下图是说明.NET Core为啥可以跨平台的原因,简单的说就是因为它重写了底层(指CoreCLR、CoreFX等),并且底层无系统依赖性,这样就可以使任何系统都可以通过.Net Core的底层去处理通过.NET Core开发的程序。

PS:图中具体技术名称如:CLR、BCL大家可以百度一下,很好理解的。


  • ASP.NET Core 具有如下优点(看不懂也无所谓,你知道它很牛逼就对了):
  1. 生成 Web UI 和 Web API 的统一场景(在MVC项目下,控制器即可以返回视图,也可以当做WebAPI接口用)。
  2. 集成新式客户端框架和开发工作流。
  3. 基于环境的云就绪配置系统。
  4. 内置依赖项注入。
  5. 轻型的高性能模块化 HTTP 请求管道。
  6. 能够在 IIS、Nginx、Apache、Docker 上进行托管或在自己的进程中进行自托管。
  7. 定目标到 .NET Core 时,可以使用并行应用版本控制。
  8. 简化新式 Web 开发的工具。
  9. 能够在 Windows、macOS 和 Linux 进行生成和运行。
  10. 开放源代码和以社区为中心。

  • .Net Core 3.0部署应用的两种方式:
  1. 可以像.NET Framework那样先往系统内(windows、linux均可)安装.Net Core框架,然后我们部署应用程序的时候,只需部署我们开发的部分即可(依赖框架的部分从系统中安装的.NET Core框架获取)(缺点是增加了部署目标系统的臃肿程度)。
  2. 我们也可以直接将我们要部署的应用程序及其对.NET Core框架的依赖包打包成一个整体文件,再部署到目标系统中(缺点是文件安装包较大)。

  这部分我们可以举个栗子:比如说10个人要去舞台上表演变脸,他们每个人要用的脸谱都不一样(这里舞台就是系统,人就是程序)。如果我们采用方式1部署应用,这就相当于我们在表演前,要将所有人都用的脸谱都藏在舞台里,每个上台表演的人上台后从舞台里拿出自己要用的脸谱,然后进行表演。如果我们采用方式2部署应用,这就相当于我们不用布置舞台,每个人将自己要用的脸谱放在自己口袋,直接上去表演就行。(这两种方法的选择那就是仁者见仁,智者见智了,各有优缺点)。

  

[.Net Core 3.0从入门到精通]1.笔记简介及.Net Core3.0介绍的更多相关文章

  1. 【转】Zabbix 3.0 从入门到精通(zabbix使用详解)

    [转]Zabbix 3.0 从入门到精通(zabbix使用详解) 第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/ ...

  2. Dubbo入门到精通学习笔记(十八):使用Redis3.0集群实现Tomcat集群的Session共享

    文章目录 1.单节点访问http://192.168.1.61:8082/pay-web-boss/: 2.增加多一个消费者节点:192.168.1.62,以同样的方式部署pay-web-boss工程 ...

  3. MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库查看所有数据库: SHOW DATABASES创建数据库: CREATE DA ...

  4. MyBatis从入门到精通(第5章):5.4 Example 介绍

    jdk1.8.MyBatis3.4.6.MySQL数据库5.6.45.Eclipse Version: 2019-12 M2 (4.14.0) MyBatis从入门到精通(第5章):MyBatis代码 ...

  5. Oracle从入门到精通----学习笔记

    书名:<Oracle从入门到精通:视频实战版>秦靖.刘存勇等编著 第4章 SQL基础 1.SQL语言分类 数据定义语言 --- DDL,Data Definition Language 数 ...

  6. Dubbo入门到精通学习笔记(八):ActiveMQ的安装与使用(单节点)、Redis的安装与使用(单节点)、FastDFS分布式文件系统的安装与使用(单节点)

    文章目录 ActiveMQ的安装与使用(单节点) 安装(单节点) 使用 目录结构 edu-common-parent edu-demo-mqproducer edu-demo-mqconsumer 测 ...

  7. Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用

    文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...

  8. php入门到精通(复习笔记)

    第一章:php语言基础 1,标记风格: ①<?php echo “hello”;?> ②<script language="php">echo " ...

  9. Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置

    文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...

随机推荐

  1. ajax发送PUT请求,使用HttpPutFormContentFilter过滤器接受办法

    相信在使用ajax发送put请求时候,肯定遇到过后端数据无法被接受到的405错误. 为什么会遇到这个问题? 1.首先查看Tomcat源码 关于如何将数据封装到Request public class ...

  2. Hbase入门(二)——安装与配置

    本文讲述如何安装,部署,启停HBase集群,如何通过命令行对Hbase进行基本操作. 并介绍Hbase的配置文件. 在安装前需要将所有先决条件安装完成. 一.先决条件 1.JDK 和Hadoop一样, ...

  3. 在Docker中启动Cloudera

    写在前面 记录一下,一个简单的cloudera处理平台的构建过程和一些基本组件的使用 前置说明 需要一台安装有Docker的机器 docker常用命令: docker ps docker ps -a ...

  4. java Swing 界面化查询数据库表

    两天从0基础写的.没有按钮对话框功能,只是简单的实现. 当然代码上有很多需要优化的,基本需要重写哈哈哈.但是我怕以后有需要所以还是存一下好了.<把RS结果集,放vector里面,用vector构 ...

  5. python连接数据库查询

    import sqlite3 as db conn = db.connect(r'D:/data/test.db') print ('Opend database successfully \n') ...

  6. Python爬虫(一):爬虫伪装

    1 简介 对于一些有一定规模或盈利性质比较强的网站,几乎都会做一些防爬措施,防爬措施一般来说有两种:一种是做身份验证,直接把虫子挡在了门口,另一种是在网站设置各种反爬机制,让虫子知难而返. 2 伪装策 ...

  7. 03-css的继承性和层叠性

    一.继承性 css中所谓的继承,就是子集继承父级的属性. 可以继承的属性:color.font-xxx.text-xxx.line-xxx.(主要是文本级的标签元素) 但是,像一些盒子元素属性,定位的 ...

  8. Python集训营45天—Day08 (文件操作)

    目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...

  9. NAT网络下tcp_tw_recycle参数引起的故障

    记录一次阿里云服务器故障排查思路 公司网络是nat 环境 问题: 同一个服务有两台服务器 172.19.19.252 172.19.19.187 两台服务器 要连node5 发现172.19.19.2 ...

  10. MongoDB 学习笔记之 $push,$each,$slice组合使用

    $push使用: 使用$push给数组添加2个新成员 db.ArrayTest.updateOne({ "name" : "Bill"},{$push: {&q ...