一文讲懂C#、ASP.NET、ASP.NET MVC、ASP.NET web form、asp.net core mvc的区别

news2024/12/27 7:00:19

微软的命名很糟糕。技术上有两个框架:ASP.NET和ASP.NET Core,它们分别基于.NET Framework和.NET Core构建。
当Microsoft首次尝试创建一个遵循MVC模式的“现代”Web应用程序平台时,它将这个新平台称为“ASP.NET MVC”,以区别于以前的ASP.NET应用程序(主要是Web Forms)。然后,为了更加混淆事情,他们后来添加了“ASP.NET Web Api”,这实际上并不是一个不同的东西,而只是ASP.NET MVC的扩展。ASP.NET MVC的最新版本是5,最后一个版本ASP.NET Web Api是2。

然后,Microsoft开始研究ASP.NET“vNext”,它实际上只是新版ASP.NET MVC的代号。最初,计划是将它作为MVC的新版本,因此它也开始被称为“ASP.NET MVC 6”。然而,MVC 6不是一件事,也从未真正存在过。

最终,很明显,微软想要使用“vNext”的方向需要在框架层面进行根本转变,并且开始在.NET Core和ASP.NET Core上开展工作。从技术上讲,该框架是“ASP.NET核心”,期间。它不是“ASP.NET Core MVC”。“MVC”,“Web Api”和“Razor Pages”术语只是特定样式的ASP.NET Core应用程序的名称。它们之间没有根本区别,任何ASP.NET Core应用程序都可以包含MVC样式的控制器和视图,返回JSON / XML和/或Razor Pages的API控制器或其任何组合。

长和短,称之为ASP.NET Core就足够了。如果你正在做一些特定的事情,比如使用Razor页面,那么你应该指定你正在使用Razor Pages。同样对于API控制器等,但它仍然只是ASP.NET Core。

NET、C#和ASP.NET三者之间的区别如下:
一、什么是.NET?
.NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语言的一个平台。语言可以是C#,f#,j#,vb.net等等。JAVA和.NET不同的一点是java是跨平台的,不跨语言的。.NET跨平台仅限于安卓系统和IOS苹果系统。

1…net框架的组成分为两部分:

CLR:公共语言运行时(Common Language Runtime),提供内在管理,代码安全性检测等功能。
FLC:.NET框架类库(.NET Framework Class Library),提供大量应用类库,类库中有很多线程的资源可使用(比如:类,方法,属性),提高开效率。

2.CLR的结构:

CLS:公共语言规范,获取各种语言转换成统一的语法规范。
CTS:通用类型系统,将各种语言中的数据类型转换成统一的类型
JIT:实时编译器(即时编译器)用于将转换之后的语言编译为二进制语言,交给CPU执行。

3 .NET运行的机制流程
各种语言(c#,F#,j#等对应的源程序)——>经过CLS,CTS第一次编译——>统一规范语言(中间语言)MSIL(.EXE,.DLL)——>JIT第二次编译——>二进制语言——>运行在CPU中

java的运行机制:
java——>编译——>字节码文件(.CLASS)——>jvm解释(jvm虚拟机)——>二进制语言——>运行在CPU中

二、什么是C#?
C#是一个.NET平台下的一个程序设计语言,仅仅是一个语言。是运行在.net CLR上的,用于创建应用程序的高级语言。 程序设计语言是为了方便开发人员和计算机沟通的工具。

三、什么是ASP.NET?
ASP.NET是一个网站开发的技术,是.NET框架中的一个应用模型,用于生成基于Web的应用程序的内容丰富的编程框架。使用ASP.NET开发Web应用程序并维持其运行,比其他开发语言更加简单。与Java、PHP和Perl等高级技术相比,ASP.NET具有方便性、灵活性、生产效率高、安全性高及面向对象等优点,是目前主流的网络编程技术之一。
在这里插入图片描述

 在这里插入图片描述

 ASP(Active Server Pages)是服务器端脚本编写环境:

[Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的 Web 服务器应用程序。使用 ASP 可以组合 HTML页、VBScript脚本命令和JavaScript脚本命令等,以创建交互的 Web 页和基于 Web 的功能强大的应用程序。
由于脚本程序是在服务器上而不是在客户端运行,传送到浏览器上的 Web 页是在 Web 服务器上生成的。所以不必担心浏览器能否处理脚本:Web 服务器已经完成了所有脚本的处理,并将标准的 HTML 页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。]
 

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

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

相关文章

【性能优化】cocoscreator 共享节点-动效复用方案

前言 迷雾散尽,露出了古朴庄严的森林。古老的铁杉,在头顶编成绿色穹顶。 阳光在树叶间破碎成金色顶棚。从树干间远眺,远处的森林渐渐隐去。 用几句话就能描述一片巨大的森林,但是在实时游戏中做这件事就完全是另外一件事了。 当屏…

[数据结构-C语言] 算法的时间复杂度

目录 1.算法的复杂度 2.时间复杂度 2.1 时间复杂度的概念 2.2 大O的渐进表示法 3、常见时间复杂度计算举例 3.1 冒泡排序 3.2 二分查找 3.3 阶乘递归 3.4 斐波那契数列 1.算法的复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 …

PS学习记录——自动选择的【图层】/【组】模式说明

PS中,【移动工具】状态下,上方的工具栏有个【自动选择功能】,用于移动图像 自动选择下有【图层】、【组】两种选项 1、自动选择-【图层】 图层模式下,自动选择可以任意移动选中的图像图层,想移动哪个就移动哪个 即便不…

43.CSS grid布局

本节我们学习的初始代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport" …

110页智慧农业解决方案(农业信息化解决方案)(ppt可编辑)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 第一部分 智慧农业概述 智慧农业以农业资源为基础、市场为导向、效益为中心、产业化为抓手&#xff0c;面向农业管理部门、农技推广部门、农业企业、农业园区和基地、农业专家…

【C】Pointer

系列连载 【python / C / C】 参考 《C语言程序设计&#xff08;第四版&#xff09;谭浩强》【C语言】C语言视频教程《郝斌 C 语言自学教程》 文章目录一、指针的重要性二、指针的定义三、指针的分类基本类型指针指针和一维数组指针和函数指针和结构体多级指针int * p;// p …

CASS自带数据-绘制地形图

1、打开cass软件&#xff0c;如下图&#xff1a; 2、点击“绘图处理”菜单栏&#xff0c;选择“展野外测点点号”&#xff0c;如下&#xff1a; 3、在命令栏输入绘图比例尺&#xff0c;这里选择默认1:500&#xff0c;点击回车键进入下一步&#xff0c; 4、在弹出的窗口中&#…

单片机通过串口向电脑端发送数据电脑端发送数据控制led

上节课我们学习了串口的理论部分&#xff0c;这节课我们要来学习实操部分。 要想实现单片机通过串口向电脑端发送数据&#xff0c;我们首先要来配置寄存器。 1.配置SCON SCON寄存器中的SM0配置为0&#xff0c;SM1配置为1决定了串口工作在模式一&#xff0c;也就是8位UART&am…

前端透明分栏设计

目前在开发一个基于众包的打分网站&#xff0c;前端遇到的一个需求是&#xff1a; 背景是电影的海报&#xff0c;且不能随着scroll-bar滚动&#xff0c;需要一个蒙版分为两栏&#xff0c;左侧是影视的媒体信息&#xff0c;不随页面滚动右侧是影视的基本信息和评分信息&#xf…

如何使用基于GPT-4的Cursor编辑器提升开发效率

程序员最恨两件事情&#xff1a;一是别人代码不写文档&#xff0c;二是要让自己写文档。随着 GPT-4 的到来这些都不是问题了&#xff0c;顺带可能连程序员都解决了。。。 之前一直觉得 AI 生成的代码也就写个面试题的水平&#xff0c;小打小闹&#xff0c;现在时代可变了。Curs…

@Conditional四个较常用的派生注解总结

该内容是在学习SpringBoot底层的时候&#xff0c;看到SpringBoot的使用&#xff0c;所以这的做一个简单的总结方便以后复习。可能会有一些问题&#xff0c;还望指出共同学习 Conditional注解&#xff1a; 作用&#xff1a;按照一定的条件进行判断&#xff0c;在满足给定条件后…

如果采用密钥对的形式登录系统后,如何由普通用户切换到root用户

使用xshell工具 采用秘钥的方式进行登录 创建一个新用户并设置密码 切换到新用户之后 su root 想要切换成root用户的时候 输入密码提示 su:Authentication failure su&#xff1a;身份验证失败 使用秘钥之后是不能使用密码再进行登录 我去阿里云查了一下 有一个相同…

stable diffusion 安装xFormers 报错:Couldn‘t install open_clip.

一、No module ‘xformers’. Proceeding without it. 这是因为没有安装xformers导致的。 解决办法&#xff1a; 在webui-user.bat文件这添加一行&#xff1a; set COMMANDLINE_ARGS--xformers如下图所示&#xff1a; 试着点击webui-user.bat&#xff0c;看能否下载&#xff…

17:00面试,17:04就出来了 ,问的实在是太...

从外包出来&#xff0c;没想到算法死在另一家厂子 自从加入这家公司&#xff0c;每天都在加班&#xff0c;钱倒是给的不少&#xff0c;所以也就忍了。没想到8月一纸通知&#xff0c;所有人不许加班&#xff0c;薪资直降30%&#xff0c;顿时有吃不起饭的赶脚。 好在有个兄弟内推…

你具备抽离与封装的思想吗?

笔者最近思考了自己参与的分布式系统业务的架构小细节&#xff0c;虽然笔者每天做的是实现部分需求与业务&#xff0c;但是笔者还是拥有很多时间去读底层源码的&#xff0c;加之笔者自身的思考与实践demo的总结&#xff0c;笔者将在本篇文章中提出笔者自己对“抽离”与“封装”…

Nginx编译安装及配置文件详解

写在前面 Centos版本&#xff1a;Centos 7.6 - 64bit Nginx版本&#xff1a;1.20.2 一、什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 二、Nginx用在哪些地方 2.1 静态资源服务 动静…

mkv视频文件怎么转成mp4,这3个方法很好用

对于那些电脑不是很精通的小伙伴来说&#xff0c; mkv视频文件怎么转成mp4&#xff1f;小编先来介绍一下mkv视频格式&#xff0c;mkv是一种开放标准的自由的容器和文件格式&#xff0c;是一种多媒体封装格式&#xff0c;能够在一个文件中容纳无限数量的视频、音频、图片或字幕轨…

MVCC底层原理

目录说明MVCC的底层原理隐藏字段undo logRead View说明 在被面试官问面试题的时候&#xff0c;首先它问了Mysql的事务的隔离级别有几种&#xff1f;默认是哪种&#xff1f;他们分别解决了什么问题&#xff1f; 我在一顿回答“巴巴巴巴。。。。”之后&#xff0c;它又继续问题…

追踪项目进展常用的衡量方法

作为项目管理活动&#xff0c;项目中的进度跟踪可以帮助你了解项目实时的完成状态。有了正确的方法、项目管理工具和指标&#xff0c;项目跟踪可以指导你的团队的行动&#xff0c;甚至在问题出现之前向你发出预警。 项目经理使用各种方法、工具和指标来跟踪进度。其中最常见的…

自然语言处理(Natural Language Processing,NLP)简要

自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;简要一、发展状况二、发展优势三、发展瓶颈四、具体研究方向五、自然语言处理工具六、未来发展方向自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是计算机…