.NET Core 的 重要问题

.NET Core 的 重要问题

什么是 C# ?

在这里插入图片描述

.NET 中主要的开发语言,.NET 只是一个开发平台,他提供了一些类,一些运行时等等;他不是一门语言,除了 C# , 还有 VB.NET,F# 等等;但是用的最多的,几乎可以说是唯一的语言,就是C# 语言。

所以说 学习 .NET webapi 需要有 C# 基础。

.NET Framework 和 .NET Core 有什么区别?

尽管绝大部分用法都没有变,用过 .NET Framework 学习 .NET Core 会很快;但是 .NET Core 不是 .NET Framework的 升级版,无法直接升级。在这里插入图片描述

提一嘴:

用 Mono,开发的 .NET Framework 程序可以运行在 Linux 底下;手机应用Xamarin技术,游戏开发Unity技术,都是基于 Mono 的;当然 现在都被 微软收入旗下了。

那么有了 Mono ,为啥 微软还要搞 .NET Core?

.NET Framework 的缺点:

  1. 系统级别的安装,互相影响;
    例如:电脑上安装了 .NET Framework 4.5 ,电脑上安装的程序都共享 这个 4.5 ;一个程序需要 安装 4.5 的补丁,另一个程序打完补丁后会崩溃,所以互相影响,耦合程度非常高。
  2. 无法独立部署;
    程序打包完成后,电脑上需要安装合适版本的 .NET Framework ,无法直接双击就运行;
  3. ASP.NET 和 IIS 深度耦合;
    ASP.NET:.NET Framework 里开发网站的技术
    IIS:Windows的服务器,很难一直到Linux平台底下
  4. ASP.NET资源消耗大;
  5. 非云原生;
    不满足云计算的时代要求

.NET Framework 历史包袱:

  1. 带着手铐脚镣长大的 ASP.NET MVC
    ASP.NET MVC 之前微软最早搞的是 ASP.NET WebForm 拖控件开发网站的技术;
    基于拖控件之上搞的MVC,本身这个技术很牛,但是底层是基于拖控件的历史包袱,导致运行效率不好。
  2. ASP.NET底层不支持很好的单元测试
    单元测试,依赖注入 新的东西都不支持
    在这里插入图片描述

因为 .NET Framework 的历史包袱,所以 移植到 Linux平台下的 Mono 也继承了这些历史包袱,他不可避免。

.NET Core 的优点:

  1. 支持独立部署,不互相影响;
  2. 彻底模块化;
  3. 没有历史包袱,运行效率高;
  4. 不依赖IIS;
  5. 跨平台;
  6. 符合现代开发理念:依赖注入,单元测试等;

.NET Core 和 .NET Framework 不同:

  1. 不支持:ASP.NET WebForms,WCF服务器端,WF,.NET Remoting,Appdomain
  2. 部分Windows-only的特性,但是无法跨平台:Winform,WPF,注册表,Event Log,AD等。

我的项目可以用.NET Core开发吗?:

  1. 旧项目 .NET Framework 项目没必要动;用的技术再老,你别动他;
  2. 用到了 .NET Core 中不支持的特性不能动;
  3. 其他项目都可以使用 .NET Core ,已经足够成熟,社区也在全面转向 .NET Core 。从3.1 开始已经成熟了,现在已经熟透了;放心使用。

在这里插入图片描述

  • 28
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值