闲话 .NET(3):.NET Framework 的缺点

image

前言

2016 年,微软正式推出 .NET Core 1.0,并在 2019 年全面停止 .NET Framework 的更新。

.NET Core 并不是 .NET Framework 的升级版,而是一个从头开始开发的全新平台,一个跟 .NET Framework 截然不同的开源技术框架。

微软为什么要这么做呢?今天我们来聊聊 .NET Framework 有什么缺点,导致微软做出如此艰难的决定。

缺点一

.NET Framework 属于系统级别安装的程序,操作系统内的所有基于 .NET Framework 开发的程序共享一个 .NET Framework 安装实例,如果其中一个应用程序需要升级 .NET Framework 或者为 .NET Framework 安装补丁,则其他程序也会受影响。

缺点二

.NET Framework 必须安装到操作系统上才能使用,不能和应用程序打包到一起独立部署,导致基于 .NET Framework 开发的应用程序必须在有正确的 .NET Framework 版本的环境里才能部署运行,这为应用程序的部署及升级带到很大的不便。

缺点三

ASP.NET 框架 和 IIS(internet information services,互联网信息服务)深度耦合。

ASP.N ET 只能运行在 IIS 上,而 IIS 只能运行在 Windows 操作系统上,不同的 Windows 版本的 IIS 版本也不同,而且 IIS 的安全性一直以来也备受争议,这些都深刻影响 .NET Framework 的推广和应用。

缺点四

性能问题,这可以说是 .NET Framework 最常被吐槽的一点了。

在 .NET Framework 诞生之初,ASP.NET 就等同于ASP.NET Web Forms,虽然它在 2009 年被 ASP.NET MVC 以及更晚出现的 ASP.NET Web API 所取代,但是微软在早期开发 ASP.NET 运行时的时候,在 ASP.NET 运行时中有很多专门为 ASP.NET Web Forms 编写的代码,虽然这些代码是 ASP.NET MVC、ASP.NET Web API 所不需要的,但是 ASP.NET MVC、ASP.NET Web API 也只能带着这些它们不需要的代码去运行,这导致 ASP.NET 在运行的时候有很多不必要的内存和 CPU 消耗,据估计,ASP.NET 程序在运行时占用的内存是它实际需要内存的 3 倍。举个例子,在 ASP.NET MVC 中,当用户请求到达 IIS 后,中间要经过非常多的处理管道,最后才能到达控制器。这些管道大多是硬编码的,即使用不到它们,也无法将它们移除,因此 ASP.NET 程序无法最大化地发挥硬件的性能。

缺点五

.NET Framework 诞生的时候是没有云计算的概念的,因此 .NET Framework 从创立之初其开发人员就没有考虑到程序会运行在云服务环境中,对很多.NET Framework 组件的设置都深度依赖 Windows 操作系统 API,这导致 .NET Framework 程序无法做到完全自治。

结语

随着软件行业的发展,系统的复杂性和访问量激增,传统的软件开发、部署模式已经力不从心。

比如很多电商网站在十几年前刚开始创建的时候,可能只有电商前台系统、后台管理系统、财务系统等少量的几个系统,由于用户量不多,几台服务器就能够支撑它们了。但是发展到如今,其系统数量已经成百上千了,服务器也有上万台。

因此,系统的开发、部署、运维等都和以前有了不同,云开发、容器化部署、微服务等概念也相应而生。

.NET Framework 是约 20 年前诞生的技术,并没有云基因,被基于云开发的技术所淘汰也是正常的,但这并不说明 .NET Framework 技术是过时的,事实上,.NET Framework 的很多技术都被迁移到 .NET Core 上,而且 .NET Framework 在工控行业、上位机开发等方面还是有很大的优势。

我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。

都看到这了,求个点赞、关注、在看三连呗,感谢支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843199.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024第三届AIGC开发者大会圆桌论坛:AI Agent中国落地发展现状及多模态结合具身智能的发展展望

在2024年第三届AIGC开发者大会上,多位业内专家齐聚一堂,共同探讨了AI Agent在中国的落地发展现状以及多模态结合具身智能的发展前景。本次圆桌论坛的嘉宾包括: Fast JP作者于金龙Agent创始人莫西莫必胜作者秦瑞January Agent创始人李晨 多模…

Android NDK系列(一)手动搭建Native Project

使用NDK编写的本地代码具有高性能等特性,在游戏、图形处理等领域有广泛应用,下面介绍如何手动搭建一个纯C版的Android项目,通过该项目可以理解Android的项目结构。 一、创建settings.gradle Android项目是基于Gradle构建的,首先得…

Captura完全免费的电脑录屏软件

一、简介 1、Captura 是一款免费开源的电脑录屏软件,允许用户捕捉电脑屏幕上的任意区域、窗口、甚至是全屏画面,并将这些画面录制为视频文件。这款软件具有多种功能,例如可以设置是否显示鼠标、记录鼠标点击、键盘按键、计时器以及声音等。此…

JVM1.8分代的理论基础和简单测试

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

海外仓系统哪家好?闭坑指南,擦亮眼睛选对系统

可以说现在的海外仓系统市场还是比较杂乱的,各种不同类型,不同收费标准的系统比比皆是,这让很多想引进海外仓系统的企业不知所措,不知道怎么选。 今天就聊一下在选择海外仓系统的时候应该如何考量,才能避免被坑&#…

C++之对象的使用

1、static成员 2、static成员优点 2、static成员函数 静态成员函数不能访问非静态成员原因:因为没有this指针。也不可以访问非静态成员函数。 可以通过对象来访问静态成员,但是不推荐这么使用,会让人误解成这个x_是属于对象的,但…

PyCharm基本配置内容

如何更换 Python 解释器 输入一段代码点击运行后,画面下方有一个路径如图中框中所示: 上面的路径为虚拟路径,可以改为我们自己设置的路径 点击设置,选择settings 选择Project:y002———》Python Interpreter&#…

python爬虫之pandas库——数据清洗

安装pandas库 pip install pandas pandas库操作文件 已知在本地桌面有一名为Python开发岗位的csv文件(如果是excel文件可以做简单修改即可,道理是通用的) 打开文件: 打开文件并查看文件内容 from pandas import DataFrame import pandas as pd data_c…

【自动驾驶技术栈学习】2-软件《大话自动驾驶》| 综述要点总结 by.Akaxi

----------------------------------------------------------------------------------------------------------------- 致谢:感谢十一号线人老师的《大话自动驾驶》书籍,收获颇丰 链接:大话自动驾驶 (豆瓣) (douban.com) -------------…

nuxt3+Element Plus项目搭建过程记录

背景 本文只记录项目搭建过程中遇到的一些问题和关键点&#xff0c;nuxt框架的说明和API请参照官网学习 官网&#xff1a;https://nuxt.com/docs/getting-started/introduction 1. 初始化项目 指令如下: npx nuxilatest init <project-name>我在安装过程中出现报错&a…

本地源码方式部署启动MaxKB知识库问答系统,一篇文章搞定!

MaxKB 是一款基于 LLM 大语言模型的知识库问答系统。MaxKB Max Knowledge Base&#xff0c;旨在成为企业的最强大脑。 开箱即用&#xff1a;支持直接上传文档、自动爬取在线文档&#xff0c;支持文本自动拆分、向量化、RAG&#xff08;检索增强生成&#xff09;&#xff0c;智…

AI视频智能分析技术赋能营业厅:智慧化管理与效率新突破

一、方案背景 随着信息技术的快速发展&#xff0c;图像和视频分析技术已广泛应用于各行各业&#xff0c;特别是在营业厅场景中&#xff0c;该技术能够有效提升服务质量、优化客户体验&#xff0c;并提高安全保障水平。TSINGSEE青犀智慧营业厅视频管理方案旨在探讨视频监控和视…

七人拼购新模式:革新购物体验,共创价值

在数字时代&#xff0c;消费者的购物体验正经历着前所未有的变革。七人拼购模式作为一种新兴的购物方式&#xff0c;通过汇集消费者的力量&#xff0c;实现商品价格的最优化&#xff0c;让消费者享受到前所未有的实惠与便利。以下&#xff0c;我们将以一款标价499元的商品为例&…

消防体验馆升级,互动媒体点亮安全之路!

在当下这个科技日新月异的时代&#xff0c;多媒体互动技术已深深融入现代化消防体验馆的设计之中&#xff0c;它们不仅为这些场馆注入了前所未有的创意与活力&#xff0c;更通过其互动性、趣味性等独特优势&#xff0c;彻底革新了消防宣传教育的传统模式。如今&#xff0c;这种…

联想打印APP添加打印机方法

联想打印APP添加打印机操作方法&#xff1a; 1、在手机上下载“联想打印”APP&#xff1b; 2、打开“联想打印”APP,然后在软件内右下角找到“我的”图标并选择&#xff1b; 3、点击“请登录/注册”&#xff1b; 4、勾选“我已阅读并同意”然后在上面填写手机号码后&#xff0…

Ansys Speos|微光学结构尾灯设计

附件下载 联系工作人员获取附件 汽车照明行业在过去几年中有了很大的发展&#xff0c;对复杂光学结构的需求需要先进的设计能力。Speos 3D Texture是一个独特的功能&#xff0c;允许在给定的身体表面以图案的形式设计和模拟微纹理。它的优点依赖于图案(网格)的光学模拟模型&a…

Java—二分查找

介绍 二分查找&#xff08;Binary Search&#xff09;是一种在有序数组中查找特定元素的搜索算法。其基本思想是将目标值与数组中间的元素进行比较&#xff1a; 如果目标值等于中间元素&#xff0c;则查找成功。如果目标值小于中间元素&#xff0c;则在数组左半部分继续进行二…

点赋科技:闪耀荆州科技活动周,引领创新未来

在荆州 2024 科技活动周的舞台上&#xff0c;点赋科技以其卓越的科技实力和创新精神&#xff0c;成为了众人瞩目的焦点。 点赋科技&#xff0c;作为一家引领科技潮流的企业&#xff0c;一直致力于推动科技创新的发展。此次参加荆州科技活动周&#xff0c;更是展示了其在科技领域…

网络——多区域OSPF配置(OSPF系列第1篇)

简介 路由协议OSPF全称为Open Shortest Path First&#xff0c;也就开放是的最短路径优先协议&#xff0c;使用链路状态路由算法&#xff0c;isis协议也是使用链路状态路由算法。而RIP协议使用距离矢量路由算法。 区域 为了能够降低OSPF计算的复杂程度&#xff0c;OSPF采用分…

【NumPy】全面解析NumPy随机数生成器:使用numpy.random的实用技巧

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…