当前位置:   article > 正文

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

c# mvc

微软的命名很糟糕。技术上有两个框架: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 页面传输到浏览器。由于只有脚本的结果返回到浏览器,所以服务器端脚本不易复制。用户看不到创建他们正在浏览的页的脚本命令。]

小结:

C#是一种编程语言,而ASP.NET、ASP.NET Core、ASP.NET MVC、ASP.NET Web Forms、ASP.NET Core MVC则是基于C#语言的Web开发框架(浪潮之巅的Web)

ASP.NET(Windows)是微软推出的一种Web开发框架,它使用C#语言进行开发,可以用于创建Web应用程序和Web服务。ASP.NET Core(跨平台)是ASP.NET的下一代版本,它是一个跨平台的开源框架,可以在Windows、Linux和macOS等操作系统上运行。

ASP.NET MVC是一种基于模型-视图-控制器(MVC)模式的Web开发框架,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller),使得开发人员可以更好地组织和管理代码。

ASP.NET Web Forms是一种基于事件驱动模型的Web开发框架,它使用ASP.NET服务器控件和事件模型来创建Web应用程序。与ASP.NET MVC不同,ASP.NET Web Forms不使用MVC模式,而是使用Web Forms模式。

ASP.NET Core MVC是ASP.NET Core的MVC框架,它使用MVC模式来组织和管理代码,同时具有跨平台、高性能、可扩展性等优点。

总的来说,这些框架都是用于Web开发的,但它们的设计思想、架构模式、适用场景等方面有所不同。开发人员可以根据自己的需求和技术水平选择适合自己的框架。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/750055
推荐阅读
相关标签
  

闽ICP备14008679号