1. 前言

序篇讲了自己的一些感悟和经历,从这章开始就开始讲一些.net技术栈的东西了。

2. .net framework和.net core对比

.NET Framework 概述

.NET Framework 是一种技术,支持生成和运行 Windows 应用及 Web 服务。 NET Framework 旨在实现下列目标:

提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Web 上分布,或者是在远程执行。提供可执行以下操作的代码执行环境:将软件部署和版本控制冲突最小化。

提高代码(包括由未知的或不完全受信任的第三方创建的代码)执行安全性。

消除脚本环境或解释环境的性能问题。

使开发人员的经验在面对类型大不相同的应用(如基于Windows 的应用和基于 Web 的应用)时保持一致。

按照工业标准生成所有通信,确保基于 .NET Framework 的代码可与任何其他代码集成。

.NET 简介 .Net Core (后期以.net 6.0为准了)

.NET 是一种用于构建多种应用的免费开源开发平台,例如:

使用类库在不同应用和应用类型中共享功能。

使用 .NET 时,无论你正在构建哪种类型的应用,代码和项目文件看起来都一样。 可以访问每个应用的相同运行时、API 和语言功能。

跨平台

开源

注意

.Net Framework 最高版本为4.8(目前只处于维护的状态没有新特性了) .Net Core最高版本为3.1,从5.0开始,.Net Core就命名成.Net + 数字,以后只有一个.Net。最新的长期支持版本为.net 6.0。

Announcing .NET 6 — The Fastest .NET Yet

3. 为什么推荐迁移到.net core

.Net Core的一些优点

  • 跨平台

  • 开源

.Net Framework只能在Windows系统上运行是有很大的局限性。 最新的.Net跨平台框架拥有很多的新特性,Asp.net core更能适应云原生和微服务。而且开源并持续更新,保证能够快速的添加一些新特性。

4. 旧程序享受容器化带来的便利

当然如果一些web程序有历史包袱,不能很好的迁移到.net最新的跨平台框架上,可以采用windows容器,将传统应用固化到容器里,这样就可以享受到容器带来的一些便利了。再结合容器编排如k8s这类工具,搭建出windows和linux的混合集群,这样服务和现代化的微服务没什么区别了。

从.net开发做到云原生运维(一)——从.net framework过渡到.net core的更多相关文章

  1. 从.net开发做到云原生运维(零)——序

    1. 为什么要写这个系列的文章 大家看到标题的时候肯定会感觉到困惑,这个标题里的两件事物好像并不是很搭.说到.net开发大家一般都会想到asp.net做网站,或者是wpf和winform这类桌面开发, ...

  2. 从.net开发做到云原生运维(八)——DevOps实践

    1. DevOps的一些介绍 DevOps(Development和Operations的组合词)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的 ...

  3. 从.net开发做到云原生运维(二)——.net core生态

    1. 新的开始从.net 6.0开始 .net 6.0作为一个长期支持版,具有里程碑的意义.从.net5.0将.net framework和.net core合并以后,在.net5.0的功能上再次完善 ...

  4. 华为刘腾:华为终端云Cassandra运维实践分享

    点击此处观看完整活动视频 各位线上的嘉宾朋友大家好,我是来自华为消费者BG云服务部的刘腾,我今天给大家分享的主题是华为终端云Cassandra运维实践.和前面王峰老师提到的Cassandra在360中 ...

  5. 从On-Premise本地到On-Cloud云上运维的演进

    摘要: 从用户的声音中,我们听到用户对稳定.弹性.透明的诉求,我们也在不断升级ECS的运维能力和体验,助力用户建立主动运维体系,赋能业务永续运行.为了让大家更好的了解和用好ECS弹性计算服务,从本期开 ...

  6. Linux云自动化运维第三课

    Linux云自动化运维第三课 一.正则表达式 1.匹配符 * ###匹配0到任意字符 ? ###匹配单个字符 [[:alpha:]] ###匹配单个字母 [[:lower:]] ###匹配单个小写字母 ...

  7. Linux云自动化运维第四课

    Linux云自动化运维第四课 一.vim 1.vim光标移动 1)在命令模式下 :数字  ###移动到指定的行 G  ###文件最后一行 gg  ###文件第一行 2)在插入模式下 i  ###光标所 ...

  8. Linux云自动化运维第五课

    Linux云自动化运维第五课 一.进程定义 进程就是cpu未完成的工作 二.ps命令 ps a ###关于当前环境的所有进程 x ###与当前环境无关的所有进程 f ###显示进程从属关系 e ### ...

  9. 微服务平台(Micro Service Platform : MSP)旨在提供一个集开发、测试、运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效。

    微服务平台(Micro Service Platform : MSP)旨在提供一个集开发.测试.运维于一体的开发者专属平台,让开发者能快速构建或使用微服务,让开发更简单,让运维更高效. MSP采用业界 ...

  10. 云开发 :云原生(Cloud Native)

    云开发 :云原生(Cloud Native) 云原生 所谓云原生,它不是一个产品,而是一套技术体系和一套方法论,用于构建和运行充分利用云计算模型优势的应用.云计算将提供无限制的按需计算能力和根据使用情 ...

随机推荐

  1. 美团面试:说说Netty的零拷贝技术?

    零拷贝技术(Zero-Copy)是一个大家耳熟能详的技术名词了,它主要用于提升 IO(Input & Output)的传输性能. 那么问题来了,为什么零拷贝技术能提升 IO 性能? 1.零拷贝 ...

  2. C#.NET 循环字符串 V20231123

    C#.NET 循环字符串 V20231123 public static bool IsIllegalOutTradeNo(string OutTradeNo) { foreach (char ite ...

  3. work12

    day12   一.请简述集合框架. 集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set.其中,List的 ...

  4. 字符数组转换及数字求和 java8 lambda表达式 demo

    public static void main(String[] args) throws IllegalAccessException { //字符串转换为数字且每个加上100,输出. String ...

  5. MySQL Docker搭建挂载并启用远程连接

    1.拉取镜像 后面可以指定版本号,这里使用8.0 docker pull docker.io/mysql:8.0 2.查看mysql镜像 docker images 3.启动docker并挂载 doc ...

  6. FFmpeg frei0r插件使用学习

    背景 ffmpeg做基本的音视频编辑还是比较简单的,但要做一些滤镜及特效就比较麻烦了.接下来看看借用frei0r插件怎么做: 简介 你可以将frei0r看作是一个"视频特效工具箱" ...

  7. spring多数据源配置笔记

    本文阐述使用多数据源的额场景,以及如何使用springboot的配置多数据源. 关于后者,主要是直接引用其它博文:https://blog.csdn.net/u012060033/article/de ...

  8. Spark Structured Streaming(一)基础

    1. 流处理的场景 我们在定义流处理时,会认为它处理的是对无止境的数据集的增量处理.不过对于这个定义来说,很难去与一些实际场景关联起来.在我们讨论流处理的优点与缺点时,先介绍一下流处理的常用场景. 通 ...

  9. 【论文阅读】RAL2022: Make it Dense: Self-Supervised Geometric Scan Completion of Sparse 3D LiDAR Scans in Large Outdoor Environments

    0. 参考与前言 论文链接:https://ieeexplore.ieee.org/document/9812507 代码链接:https://github.com/PRBonn/make_it_de ...

  10. Linux内存不够了?看看如何开启虚拟内存增加内存使用量

    1.为什么要使用虚拟内存 当我们没有多余的钱去购买大内存的云服务器时,但是当前服务器里面的软件和程序运行的比较多导致内存不够用了.这个时候可以通过增加虚拟内存来扩大内存容量.但是在启用虚拟内存时,需要 ...